Scripting
在 git post-merge 中添加延遲
我的場景如下:更新我的 Git 儲存庫上的文件後,我有一個 Git 掛鉤,它從我的 Web 伺服器呼叫 API。這個 API 執行 Git 拉取,然後我有一個 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 啟動的,因此我無法控制它的啟動方式。
最後我在文件中得到了這一行
.git/hooks/post-merge
#!/bin/sh ( sleep 10 ; /usr/bin/sudo systemctl restart tempcollect ) &