私のシステムには、いくつかの C++ コードを含む git リポジトリがほとんどありません。私のシステムにリクエストを送信するユーザーは、すべての git リポジトリからまとめてコンパイルされたバイナリ実行可能ファイルを取得しています。このシステムの基本的な機能は、ソースの最新バージョンからビルドされたバイナリを送信することです。そうするために、システムが実行する要求を受け取るたびにgit pull --all
、このコマンドには多くの時間がかかります。リクエストが届いたときにプル コマンドを実行するのを避け、代わりに、新しいバージョンがコミットされたときにシステムがプル コマンドを自動的に実行するようにしたいと考えています。自動的に行う方法は?
私が考えることができる唯一の方法は、gitサーバーに1秒ごとに定期的にクエリを実行し、リモートリポジトリに新しいコミットがあるたびにpullコマンドを実行することですが、ポーリングは私が探している最後の解決策だと思います. それでも、この素朴なポーリング方式を実装する方法と、どのような代替手段がありますか?