問題タブ [post-update]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
git - Git: リポジトリ内のすべてのファイルにアクセスする必要があるスクリプトを実行する更新後のフック
現時点では、リモート リポジトリが更新されるたびに (つまり、だれかが git push を実行するたびに) スクリプトを実行して、リポジトリ内のファイルからパッケージをビルドする必要があるというジレンマに陥っています。これらのパッケージは、後で使用するために HTTP 経由でクライアントに公開される git サーバー上のディレクトリに配置されます。
問題は、更新後のフックでリポジトリ内のファイルにアクセスする方法がわからないことです。
誰かが洞察を与えることができれば、それは大歓迎です。
git - gitosis を使用して git リポジトリへの http アクセスを管理する
[2010/9/16 更新]
昨夜これを調べた後、最初の質問が実際には2つの別々のことを求めていることに気付きました。
1) gitosis によって作成されたすべてのリモート リポジトリに更新後のフックを設定することは可能ですか (つまり、gitosismv hooks/post-update.sample hooks/post-update
でリポジトリを作成した後に手動で実行する必要はありません)。git update-server-info
post update フック内から呼び出されるという事実)。
2) HTTP 経由でリポジトリにアクセスできるようになったら、gitosis.conf のオプションを使用してアクセスのオンとオフを切り替えることができますか (daemon = no
またはに似たものgitweb = yes
)
--- 質問 1 の解答 ---
git init
Git はテンプレートを使用して、コマンドで新しいリポジトリを作成することが判明しました。mv hooks/post-update.sample hooks/post-update
テンプレートディレクトリ内で実行することによりgit init
、私のサーバーでの今後のすべての呼び出しで、更新後のフックが正しく構成されます。(OSXでは、テンプレートディレクトリは/opt/local/share/git-core/templates/
気にする人のためのものです)
これが機能するためのもう 1 つの要件は、リポジトリの HTTP クローン URL が次のようになるように、Apache 書き換えルールを有効にすることです。http//git.example.com/repo.git
私の書き換えルールは次の/etc/apache2/extra/httpd-vhosts.conf
ようになります。
--- 質問 2 の解決策をまだ探しています...ヘルプ! :) ---
HTTP クローンがすべてのリポジトリで機能するようになったので、gitosis を使用して HTTP アクセス制御を管理する方法があるかどうか疑問に思っています。リポジトリへの git-daemon およびgitwebアクセスを設定daemon = no
しgitweb = no
てオフにしますが、Apache 書き換えルールがまだ有効であるため、リポジトリは. これを管理するために gitosis を使用する方法についてのアイデアはありますか?http://git.example.com/repo.git
【最初に投稿した質問】
gitosis を使用して git リポジトリへの http アクセスを管理することは可能ですか? たとえば、gitosis.conf では、次を使用して gitweb と git-demon のアクセスを管理できます。
現在、次のコマンドを発行してリポジトリのクローンを作成できます。
ただし、次のコマンドを発行すると:
次のエラー メッセージが表示されます。
ただし、サーバーにログインして repo.git 内から次を実行すると:
その後、http によるクローン作成は正常に機能します。
gitosis 内からリポジトリへの http アクセスを管理する方法はありますか?
git - git pushが実行されるたびにバージョンを更新しますか?
プッシュごとにgitを使用してバージョン(各+1)を変更するにはどうすればよいですか?
例私は2つのphpファイルを持っています
通常、各ヘッダーには次のような情報があります。
プッシュするたびに+1doバージョンを検索して追加できますか?
git - ブランチごとに Git をデプロイ ツールとして使用する際の問題
更新後スクリプトを作成し、git をリモート サーバー上の展開ツールとして使用しようとしています。
私の更新後のスクリプトは次のようになります
ただし、それを実行すると、次のようなエラーが返されます。
ディレクトリ内からssh経由でgitコマンドを実行できるため、これは意味がありません。
更新後のスクリプトで行う必要があることは他にありますか?
解決
変数を追加したGIT_DIR
ので、コマンドは次のようになります。
git - 更新後のフックからの Git プッシュが失敗する - X はリポジトリではありません
ローカル マシンからプッシュされたときに別のリポジトリに自動的にプッシュする中央リポジトリをセットアップしようとしています。私は数日間グーグルをしており、見つけたすべてのコマンドの組み合わせを試してみましたが、うまくいきませんでした。
セットアップ: 最初に中央リポジトリをベアとして作成し、それを非ベアとして 2 番目のマシンに複製しました。「www」と呼ばれるリモートとして 2 台目のマシンを 1 台目のマシンに追加しました。1台目から「git push www master」を手動で実行し、2台目をSSH経由でアップデートできることを確認しました。次に、リポジトリを HTTP 経由でローカルの開発マシンに複製しました。ローカルからセントラルに問題なくプッシュできます。
現在の形式の更新後のフック:
私はさまざまな SO とブログの投稿からこれをまとめました。最初のマシンの CLI (「cd /var/git_repos/site.git/hooks; ./post-update」) から手動で実行すると正常に動作しますが、実行すると「www は Git リポジトリではありません」というエラー メッセージが表示されます。フックとして。
出力:
誰が私が間違っているのか教えてもらえますか?
編集:私の最初の問題は、site.git のアクセス許可が完全に正しく設定されていないことであることがわかりました。その問題を解決したので、新しい問題が発生しました。
新しい出力:
/etc/sudoers ファイルに以下を追加しようとしましたが、うまくいきませんでした:
svn - プロジェクトごとのSVN更新後フック?
更新後のフックはマシン上のSVNセットアップ全体に適用されるようですが、プロジェクトごとに個別のフックを設定することを検討しています。私が見ることができることから、あなたはグローバルな設定であなたのフックをセットアップしました。
プロジェクトごとに更新後のフックをどのように取り除くことができるかについてのアイデアはありますか?
jpa - エンティティフィールドがnullの場合、@PostUpdateメソッドはサイレントに停止します
ユーザー入力から更新しているJPAドメインエンティティがあります。そのオブジェクトに関する多くの要因に応じて、更新時に実行するアクションがあります(この場合、更新は「完了のマークを付ける」ことです)。
データベースでは、2つの「完了後のアクション構成」フィールド(noteおよびnext_workflow)はヌル可能であり、対象の値を持つか、NULLです。これらは非常に多いかもしれませんが、私はこれら2つから始めています。
モデルクラスで次のメソッドを作成しました。
NULLの「音価」値を持つエンティティの場合、コンソール出力は次のようになります。
NULL以外の「note」値とNULLの「nextWorkflow」値を持つエンティティの場合、コンソール出力は次のようになります。
どこにもエラーはなく、スタックダンプも、何もありません。メソッドはサイレントに終了し、このエンティティで実行しているマージは完了しません(データベースは変更されません)。
デバッガーでこれをステップ実行すると、テストが行われている行に到達し、値がNULLの場合、「ソースが見つかりません」というタブが表示されますが、これをどうすればよいかわかりません。何かに足を踏み入れることができないと言っているのはデバッガーだけだと思いますが、実際にはそれを求めているわけではありません...
svn - SVN更新後フック
ローカルマシンに更新後のフックを実装する方法についての情報をWebで検索しましたが、何も見つかりませんでした。特に、PHPStorm 3.0からsvnコピーを更新した後、そのフックを起動したいと思います。svnの更新後に自動的に実行したいタスクを処理するphingbuild.xmlを作成しました。何か案が ?事前にタイ!
PS:ローカルマシンはWin7を実行しています。
wordpress - 投稿が更新されたときに管理者にメール通知を送信する
投稿が更新されるたびに管理者に通知しようとしていますが、変更されたコンテンツ、主に更新されたメタデータのみです。
私は本当に好きなものを思いついたわけではありませんが、今のところ私が見ているオプションは次のとおりです。
1.投稿が公開されたときのフックがあります(カスタム投稿を使用しています):
- リビジョンを取得するための関数/フックがありますが、正確にどこにあるのか忘れてしまいました。したがって、最近公開されたものと以前のリビジョンを比較し、変更を検出して、それに応じて電子メールで送信することができました。これにより、更新されたものすべての普遍的な変更が取得されます。- ポストリビジョンを扱う関数を扱った人はいますか?
2. (使用したボタンに基づいて) 追加したばかりのデータを取得するカスタム ボタンを追加し、公開投稿機能を有効にします。ただし、作成したメタデータと、そのボタンに接続されたコンテンツのみに限定されます。
誰もこれを以前に使用したことがありますか? そこに何かがあるはずですが、私が見たほとんどは、コンテンツなしで通知を送信し、更新されたコンテンツのみを送信します.
ありがとう!
mercurial - Windows から Bitbucket にプッシュしてから Linux サーバーにプルした後、パーミッションが開かれすぎていますか?
ローカル マシンでコードを記述します。コードを Bitbucket の Mercurial リポジトリにプッシュします。次に、クライアントの Web サーバーにログインし、Bitbucket リポジトリからサーバーに "pull/update" します。
問題は、彼らのアカウントが suphp を実行している共有サーバー上にあり、セキュリティ設定で suphp が 644 (-rw-r--r--) で chmod されたファイルしか提供できないことです。しかし、Bitbucket リポジトリからプルするたびに、ファイルのアクセス許可が 664 (-rw-rw-r--) に変更されます。
他の人が Hg リポジトリを同期しようとしたため、これは厳しすぎる権限の問題ではありません。また、Mercurial がファイルのアクセス許可をコピーしないという問題でもありません。(Hg は以前は eXecute ビットのみをコピーしていましたが、現在はすべての権限をコピーしています。)
Windows マシンのアクセス許可をどうにかしてより制限的に変更して修正できるのではないかと思いますが、Windows のアクセス許可が Linux の「所有者/グループ/世界」設定にどのように変換されるかはわかりません。(私の Windows マシン上のファイルは、私のアカウント、「管理者」グループ、および「システム」に「フル コントロール」を許可します。これらのすべてのアクセス許可は、マイ ドキュメント内にある格納フォルダーから継承されます。)
誰でもこの問題の解決策を持っていますか? Linux ボックスで更新後のフックを chmod 644 にすることはできますfind . -type f
か?