私のシナリオは次のとおりです。 Gitリポジトリからファイルを更新した後、WebサーバーからAPIを呼び出すGitフックがあります。 APIがGitプールを実行してからWebサーバー(Gunicorn)を再起動するマージされたGitフックがあります。プルが完了してから数秒後にWebサーバーを再起動する必要があります。それ以外の場合は、API呼び出しが完了する前にWebサーバーがシャットダウンされ、Gitフックにエラーが返されます。現在、次の解決策がありますが、満足できません。文書.git/hooks/post-merge
#!/bin/sh
/var/www/tempcollect/.git/hooks/restart > /var/www/tempcollect/.git/hooks/restart.log &
文書.git/hooks/restart
sleep 10s
/usr/bin/sudo systemctl restart tempcollect
post-merge
ファイルにWebサーバーを再起動するコマンドを含めたいと思います。ファイルの実行はpost-merge
プル終了時にGitによって開始されるため、起動方法を制御できません。
答え1
ついにファイルにこの行がありました.git/hooks/post-merge
#!/bin/sh
( sleep 10 ; /usr/bin/sudo systemctl restart tempcollect ) &