如果Ghost Inspector測試使用deploy鉤子執行失敗,是否可以中止Heroku部署?我知道部署鉤子並不等待鉤子的回答,但有什麼辦法可以實現這一目標嗎?如果Ghost Inspector失敗,我可以中止Heroku部署嗎?
1
A
回答
1
您可以利用發佈階段,該階段允許您在部署新版本應用程序之前運行任何腳本。
首先,你需要添加這樣一行到您的Procfile
release: bin/check-ghost-inspector-test
這是假設你有bin
目錄中的項目內,可執行腳本check-ghost-inspector-test
。此腳本將在應用程序構建,配置變更,回滾等後運行。如果腳本返回狀態爲0,則會部署您的應用程序。否則,發佈階段將失敗,您的應用將不會部署。
知道您應該實施該腳本來爲您的測試的當前狀態輪詢Ghost Inspector。如果測試成功,退出時狀態爲0.如果你有失敗,退出的狀態不爲0。我猜測可以通過發送commit sha來通過一些Ghost Inspector API獲取測試運行狀態。你必須選擇,讓電流在您提交賽道SHA:
- 運行
heroku labs:enable runtime-dyno-metadata -a <app name>
啓用賽道元數據的實驗室功能。這會將幾個配置變量注入你的dyno。其中之一是HEROKU_SLUG_COMMIT
。 - 添加this buildpack,將注入
SOURCE_VERSION
config var。
這種方法的缺點是,您需要通過config vars傳遞Ghost Inspector API的一些憑據。
我能想到的另一個解決方案是爲Continuous Delivery設置一些專用解決方案,並且只有在測試通過時調用新部署。
相關問題
- 1. Heroku部署失敗
- 2. Heroku部署失敗
- 3. 部署到Heroku時失敗
- 4. 部署到Heroku時失敗
- 5. 失敗部署到heroku
- 6. 如果Travis失敗,我可以防止git push嗎?
- 7. Heroku的部署失敗的MySQL耙中止同一個文件
- 8. Heroku部署失敗在可發佈 - 要求登錄到heroku
- 9. 如果子查詢失敗,可以讓MySQL成功嗎?如果子查詢成功,我可以失敗嗎?
- 10. circleci部署到heroku失敗git推
- 11. python/django:部署到heroku失敗
- 12. 播放2x webjars部署到heroku失敗
- 13. Heroku部署Django應用程序失敗
- 14. 的Rails 3.1.1部署到Heroku的失敗
- 15. Heroku上的Symfony 3部署失敗
- 16. msdeploy - 如果預同步失敗,在postync中停止部署
- 17. 可以」部署在Heroku
- 18. 我可以將簡單的舊.war文件部署到Heroku嗎?
- 19. 由於sqlite3失敗,將ROR部署到heroku失敗
- 20. 部署失敗
- 21. 部署失敗
- 22. 如果Socket.Connect失敗,我可以說域不存在嗎?
- 23. PHP:如果標題位置失敗,我們可以繞過嗎?
- 24. windows:如果ReadFile失敗,我可以再次ReadFile嗎?
- 25. Force Octopus部署步驟失敗,如果PostDeploy Powershell腳本失敗
- 26. 我可以從_pre_put_hook導致失敗嗎?
- 27. 我可以XCOPY部署Windows服務嗎?
- 28. Turbogears2應用程序可以在Heroku中部署嗎?
- 29. Datalab「部署」失敗
- 30. Capifony失敗部署
甜,感謝您的詳細解答! – Cojones