在 git 合并后添加延迟

在 git 合并后添加延迟

我的场景如下:更新 Git 存储库上的文件后,我有一个 Git 挂钩,可以从我的 Web 服务器调用 API。该 API 执行 Git pull,然后我有一个合并后的 Git 钩子,可以重新启动 Web 服务器 (Gunicorn)。 Web 服务器应在拉取完成后几秒钟重新启动,否则 Web 服务器将在 API 调用完成之前关闭,并向 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  ) &

相关内容