リモートリポジトリからの更新をリッスンし、何かが変更されるたびにプルするようにgitを設定する方法はありますか?ユースケースは、Gitを使用してWebアプリをデプロイすることです(デプロイされたアプリケーションのバージョン管理を取得します) 。
誰かがこれを機能させましたか? Herokuはどのようにそれを行いますか? Google-fuで関連する結果が得られません。
Gitには「フック」、つまり他のアクションの後に実行できるアクションがあります。あなたが探しているように見えるのは、「受信後フック」です。 github adminでは、誰かがレポジトリにプッシュするたびに(プッシュされたものに関するデータを含むペイロードで)ヒットする受信後URLを設定できます。
それが価値があることについては、自動プルは良い考えだとは思いません-何か間違ったことがあなたのブランチにプッシュされたらどうなりますか?そのようなことには、capistrano
(または同等のもの)のようなツールを使用します。
UNIXライクでは、マシン上で(毎日または毎週など)「git pull」を呼び出すcronジョブを作成できます。 Windowsでは、タスクスケジューラまたは「AT」コマンドを使用して同じことを行うことができます。
JenkinsやBambooなどの継続的統合プログラムがあり、コミットを検出し、ビルド、テスト、パッケージ化、デプロイなどの操作をトリガーできます。彼らはあなたがやりたいことをしますが、依存関係があり、設定が難しく、最終的にはgitリポジトリに対する定期的なチェックを使用する可能性があり、これは毎分cronでgit pullを呼び出すのと同じ効果があります。
次のことを行うことで、これを実現するスクリプトを作成できます。
私はこの質問が少し古いことを知っていますが、Windowsログとgitを使用して、webhookとphpを使用してプロジェクトを自動プルすることができます(プロジェクトにウェブサーバーが含まれていると仮定します。ここで私の要点をご覧ください: https ://Gist.github.com/upggr/a6d92e2808e9628ebe0d01fd93569f4a