我有一個構建服務器,在每次提交給定的劇本存儲庫後,都會運行合理的劇本。主機數據來自動態庫存。我現在遇到的問題是,當我推送多個提交時,構建服務器會爲相同的主機運行ansible-playbook
,並在主機服務器上創建爭用條件。我如何才能讓正在運行的劇本完成,然後在主機上運行劇本時啓動或完全不運行? (我只需要在主機上運行一個實例)製作劇本只爲給定主機運行劇本
0
A
回答
1
在啓動劇本運行之前,您可以檢查遠程服務器的安全pid。你使用的是什麼操作系統/發行版? 嗯..取決於你測試的是什麼,你可以啓動一個容器(docker或lxd)來測試每個提交的環境。考慮到如果您創建/修改網絡接口或創建設備文件,它不會滿足您的需求。 我使用這種方法來測試我的劇本角色只有一個服務器有幾個單元測試每個角色參數。
相關問題
- 1. 將劇本集成到主劇本中
- 2. 與主機組運行ansible劇本 - 無需主機匹配
- 3. 運行在主機上的劇本與特定的參數
- 4. ansible - 平行運行劇本
- 5. 使用可執行劇本選擇特定主機/主機組
- 6. 運行劇本後訪問劇本結果
- 7. 運行Ansible劇本針對單個主機
- 8. Ansible劇本需要從主機
- 9. 期望腳本運行Ansible劇本
- 10. 執行ansible劇本
- 11. 限制只在我的劇本
- 12. 如何強制在Vagrant機器上運行劇本?
- 13. 處理劇本中的劇本
- 14. 爲什麼有一個Ansible「主劇本」?
- 15. Ansible劇本不運行從角色
- 16. 通過Jenkins運行Ansible劇本
- 17. 運行帶劇情的R腳本
- 18. 在劇本中包含劇本並定義環境文件
- 19. Vars_prompt在劇本
- 20. 對劇本
- 21. 劇本掉毛
- 22. 劇本圖庫
- 23. 兩部劇有兩個不同的主機在同一劇本與依賴
- 24. 在一個劇本中執行多主機上的任務
- 25. ansible-劇本:ERROR:提供主機列表爲空
- 26. 歌劇院 - 鏈接的腳本不是從本地主機
- 27. ansible劇本運行任務,只有一次
- 28. ansible角色不運行的主要劇本
- 29. 運行完整的劇本之前的完整性檢查 - >統計主機
- 30. 在Ansible中,劇本可以將標籤傳遞給其他劇本嗎?
你如何觸發構建服務器來運行可靠的劇本? – kfreezy
@kfreezy我使用[Phabricator](https://secure.phabricator.com/book/phabricator/article/harbormaster/#triggering-builds),你可以在提交時觸發構建。問題是當你同時推送多個提交時。有沒有辦法確保只有一個實例正在運行? – Pouyan
你可以爲ansible-playbook編寫包裝shell腳本,或者修改ansible-playbook python文件來檢查其他進程,但這看起來像是一個糟糕的解決方案。你最好在你的CD服務器上設置一些構建隊列。 –