Git
多個 devops 如何管理單個廚師食譜?
我創建了一本食譜,我正在使用
manage.chef.io
它來託管和部署它。我已經在 GitHub 私人倉庫中託管了這本食譜。考慮一個場景:
如果我對食譜和
knife cookbook upload
它進行了一些更改,但我忘記將其推送到 Github。我如何確保它不會發生?甚至不是錯誤的。我如何確保任何時候每個人都擁有最新的 repo,
knife upload
否則不能。就像您沒有git push
更改git pull
更改一樣。我的同事從 GitHub 中提取資訊,但沒有看到任何變化。因此,他做出了自己的改變
knife cookbook upload
。但是他會替換我的更改,因為他有一個舊版本。那麼在多個 DevOps 中管理一本食譜的最佳實踐是什麼?
最簡單的方法通常是讓向 Chef 伺服器的推送由您的 CI 服務(如 Jenkins)控制。這迫使圍繞原始碼控制進行序列化,因為沒有人有權執行食譜上傳。你也可以確保你有足夠的溝通來避免這種情況,但這更容易出錯。一些圍繞策略文件的 Chef 工作流根本不使用正常的食譜上傳,因此沒有此問題。