gpt4 book ai didi

使用 Puppet & Hiera 的 Git 工作流

转载 作者:太空狗 更新时间:2023-10-29 14:15:27 24 4
gpt4 key购买 nike

我们是一个 2 人团队,使用 puppet/Hiera 管理 20 台服务器。到目前为止,我们在开发 list 时还没有使用任何 VCS。

我已经在 puppetmaster 上配置了一个远程 Git 存储库,并将我们的 list 和模块文件夹推送到 master 分支(用于开发)并推送了一个相同的生产分支。远程仓库有一个 post-release hook它根据分支名称(或更新,如果存在)配置一个新环境,并且 puppetmaster 配置了动态环境以使其能够工作。 puppet blog 上详细讨论了此配置.

我们的工作流是让我们每个人在我们本地的 master 分支上开发,当我们准备好测试时,我们提交,然后推送,发布后 Hook 更新开发环境。然后,我们可以使用 puppetd ​​--test --environment development 在测试客户端上测试(我们认为不需要单独的暂存环境)更改。如果一切都按预期进行,那么我们中的任何一个都可以将开发分支 merge 到生产环境中并推送,这将再次更新生产环境。

问题

  1. 这是使用 Git 和 Puppet 的最佳工作流程吗?
  2. 我们如何实际测试开发环境。我们有可以使用的备用服务器,但我们是否使用与节点声明中指定的生产服务器相同的主机名配置它们?如果我们这样做,那么来自 Hiera 的一些节点特定数据(例如 IP 地址)将是错误的。或者我们是否使用 --environment 开发开关在生产服务器上进行测试并使用 --noop?

如有任何建议,我们将不胜感激。

最佳答案

您可能想要做的一件事是使用暂存虚拟机。在推送更改之前,您在 VM 上测试它们,如果一切正常,然后推送更改。

将 VCS 用于 puppet 与代码不同。有时你的 push “可能会破坏构建”,可以这么说。因此,使用 Git 标签来描述一切正常的提交,这将帮助您确保不会恢复到“错误”提交之一。

关于使用 Puppet & Hiera 的 Git 工作流,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12075439/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com