有一個服務器正在運行,並有一個git實例。我希望腳本每次運行時都會運行git推送到服務器。我想我的腳本被執行,然後git推繼續。 任何解決方法?每次git推後執行一個腳本
回答
我不知道如果你想要一個素文字之前運行推或之後。所以這是我的推前答案。但是如果你想要後推(即推後),你必須相應地更改pre-push
掛鉤,以檢查是否推動成功,然後你可以做推後的事情。
至於建議的@Travis,git hooks
是你要找的人。因此要執行腳本預推,您需要做的是在.git/hooks
中創建一個pre-push
文件。所以在這種情況下,把你的一堆代碼放入預發佈腳本文件.git/hooks/pre-push
並保存。然後通過chmod +x .git/hooks/pre-push
使其可執行。成功完成此操作後,每次運行push命令時都可以看到腳本被執行。
PS:請注意,我沒有測試過這整個但預計這種方式進行工作。
總之,假設你(Linux的用戶)是項目目錄
vim .git/hooks/pre-push # then add your code and save the file
# Also put the shebang on top to identify the interpreter
chmod +x .git/hooks/pre-push # make it executable
音符觸發的操作:IMO,這適用於「前推」,但對於「推後」 –
@ mchen.ja不起作用的後推只是改變腳本的名稱爲'後推' – MaNKuR
什麼版本的git你能成功測試?我無法在git 2.14.2上運行(在macOS上運行)。 –
您已經標記了這個GitHub上,所以我假設你指的是公共GitHub上,而不是GitHub的企業。
您不能運行在GitHub上的服務器腳本「服務器端」,因爲這顯然是一個巨大的漏洞,但你可以建立一個web鉤來觸發另一臺服務器上的腳本。
基本上只要有人一推,一個特定的URL將有關Push發送的數據。然後你可以從這裏觸發一個腳本。有關Web掛鉤的更多信息,請參閱GitHub API docs。
如何在像dokku(docker)這樣的提供像heroku一樣的git界面的其他服務器上使用git。 ? –
- 1. 每5秒執行一次腳本
- 2. 第一個和最後16天每個月執行一次sql腳本。
- 3. PHP - 一次執行多個腳本(AJAX)
- 4. Javascript SetInterval執行腳本每隔一個間隔13次
- 5. 在每個文件夾中執行一次腳本
- 6. 如何在git推後執行git commit?
- 7. jquery腳本拒絕執行一輪後再次執行
- 8. 每次執行一個方法後暫停一次
- 9. 推遲執行PHP腳本
- 10. Team City執行Git腳本
- 11. WITH語句每個查詢執行一次還是每行執行一次?
- 12. 第一次執行後自行刪除的腳本
- 13. 每分鐘執行一次shell腳本的crontab
- 14. crontab爲什麼每2分鐘執行一次腳本?
- 15. 每10秒運行一次node.js腳本
- 16. 每分鐘運行一次PHP腳本
- 17. Javascript每300秒運行一次腳本
- 18. 每個瀏覽器請求多次執行php腳本
- 19. 只能執行腳本一次
- 20. jQuery腳本只執行一次
- 21. 執行PHP腳本8次後Bash腳本停止
- 22. Bash腳本如果還有一次執行一次cronjob每分鐘
- 23. Javascript單擊腳本首次執行後多次運行
- 24. 腳本執行很多次
- 25. 執行一個JavaScript腳本
- 26. Git拉最後一次推動完成
- 27. 每秒執行一次任務,完成後執行另一個任務
- 28. 本地執行的Git pull hook腳本
- 29. 在後臺每分鐘運行一次powershell腳本
- 30. Cron執行一個執行python腳本的sh腳本
如何在服務器端的git鉤子上做這件事?我想成爲服務器端 –