Deployment
使用 Puppet 部署應用程序
我是 Puppet 的新手,雖然我已經使用 *nix 系統多年,但我從未擔任過系統管理員或操作員。
我目前正在編寫用於託管一組(PHP/MySQL/MongoDB,git 中的程式碼)Web 應用程序的 Puppet 清單。顯然,Puppet 需要了解實際應用程序,因為我將為每個應用程序設置一個虛擬主機,但我不確定 Puppet 是否應該管理諸如程式碼部署和數據庫創建之類的事情。
Puppet 是適合應用程序部署的工具嗎?如果沒有,你能推荐一個更合適的工具嗎?
我會研究Capistrano或Fabric進行部署..
您將更好地控制使用這兩個工具進行部署的方式。
Puppet 用於許多大型組織中的部署,但它並不總是完美的。其中大部分取決於您的部署方法。您是否一次部署到多台機器?你做滾動部署嗎?
一些組織通過建構其部署的包來使用 Puppet,然後讓 puppet 強制策略為該包的正確版本。因為 puppet 包含環境的概念,所以您可以使用環境分階段進行部署(例如 dev、test、prod)。
其他組織使用 puppet 通過啟動 rsync、git checkout 或使用 puppet 的一些遞歸文件副本來編排部署(儘管這相當慢)。
還有其他非常好的工具可用於部署。我過去使用過 Whiskey Disk(一個簡單的 ruby 工具)並且非常喜歡它。
(免責聲明,我在 Puppet Labs 工作)