0

GitベアリポジトリをホストするためにWindows開発サーバーを使用しています。サーバーへの直接フ​​ァイル アクセスを使用します (SSH、GIT、HTTP は使用しません)。これはうまく機能し、チームは満足しています。

現在、誰かがベア リポジトリにコードをプッシュするたびに、開発サーバーにデプロイ操作を実行させようとしています。サーバーにローカル リポジトリを作成し、ベア リポジトリをリモートとして追加しました。

post-receive フックでローカル パスを使用してもまったく機能しないことがわかりました。post-receive フックは、サーバー自体ではなく、クライアントのシステム上のフォルダーを検索するようです。サーバーで //server/c$/[path] を使用すると (サーバーのローカル リポジトリのリモート設定にも)、すべてが機能しているように見えますが、非常に低速です。現在、それは私たちを狂わせ始めているので、今のところ使用をやめました:( .

要するに、私たちの質問は次のとおりです。

  1. post-receive にクライアント ローカル スコープがあるというのは本当ですか?
  2. 1 が true の場合: post-receive をサーバーのスコープ内で動作させることは可能ですか?
  3. 上記のようなメカニズムをうまく使用した人はいますか?

助けてくれてどうもありがとう!

4

2 に答える 2

0

フックをローカルではなくサーバーの .git/hook に入れ、チェックを行います

また、展開システムは、すべてのケースのリセット、タグ付けを処理する必要があります。

ここに展開スクリプトがあります(すべてのケースに対応しているわけではありませんが、それを利用して改善できます)

https://gist.github.com/4621684

于 2013-01-24T13:40:28.963 に答える
0

ファイル パスを使用して展開する場合、スコープはクライアント スコープのままであることがわかります。これは仕様によるものと思われるため、別の公開オプションを探す必要がありました。

私は現在、プッシュに WebGitNet (github.com/otac0n/WebGitNet) を使用しています。これにより、http(s) を介して投稿し、これを行うことができます。サーバーのスコープでも動作します。現在、私も同じメカニズムを使用してプルしていますが、そうする必要はありません-速度のために、プルするファイルシステムアクセスを選択することもできます...

于 2013-02-23T22:07:21.997 に答える