我们是一个2人团队,使用puppet / Hiera来管理20台服务器。到目前为止,我们在开发清单时没有使用任何VCS。
我在puppetmaster上配置了一个远程Git仓库,并将我们的清单和模块文件夹推送到主分支(用于开发)并推送了一个相同的生产分支。远程仓库有post-release hook,它根据分支名称(或更新,如果存在)配置新环境,并且puppetmaster具有动态环境,配置为使其能够工作。 puppet blog详细讨论了此配置。
我们的工作流程是让我们每个人在我们的本地主分支上开发,当我们准备好测试时,我们提交,然后推送,并且post-release hook更新开发环境。然后,我们可以使用puppetd --test --environment development
测试(我们认为我们不需要单独的登台环境)测试客户端上的更改。如果一切按预期工作,那么我们任何一方都可以将开发分支合并到生产中并推送再次更新生产环境。
问题
任何建议都将不胜感激。
答案 0 :(得分:1)
您可能想要做的一件事是使用暂存VM。在推送更改之前,如果一切正常,请在VM上测试它们,然后推送更改。
对于puppet使用VCS与使用代码的VCS有所不同。有时你的推动“可能会破坏构建”,可以这么说。因此,使用Git标记来描述一切正常的提交,这将帮助您确保不会恢复到其中一个“错误”提交。
答案 1 :(得分:1)
我假设您有一个jenkins服务器配置来轮询您的git存储库
我理想的工作流程如下:
希望这个帮助
斯蒂芬