人们如何在您的源代码库中组织他们的Puppet清单和模块? 我没有看到任何明显的方式在一个木偶大师阶段分阶段实施木偶变化。
其他人如何pipe理? 每个服务器组/ SDLC阶段一个主服务器实例? 我非常希望在每个阶段使用相同的Puppet模块,只是使用Subversion来更改应用于每个服务器组/ SDLC阶段的Puppet模块的版本,因此我可以分阶段实施更改。 我正在寻找一种方法来利用相同的模块,避免重复模块造成的事故和变化。
我有一堆服务器正在使用puppet进行pipe理,有几个SDLC(软件开发生命周期)阶段。 灾难恢复,生产,分期,用户验收testing,testing,开发,培训
编辑澄清第二部分:
你如何维护你的分支在你的源回购? 例如,使用开发和testing分支,以及定义从哪里获取补丁的文件。
你编辑:
repo:/dev/patchessource.txt包含“patchserver / dev”
repo:/test/patchessource.txt包含“patchserver / test”
并有不同的文件,并且必须保持这种差异,合并,从开发到testing的一切,或者人们有不同的文件为每个环境,并作为一个整体迁移:
repo:/dev/devpatchsource.txt包含“patchserver / dev”
repo:/dev/testpatchsource.txt包含“patchserver / test”
这样,当你把你的开发商回购合并到你的testing回购,你不必担心改写特定的设置覆盖你的testing的具体设置?
我没有看到一个明显的解决scheme,使后续的pipe理员可能不熟悉源代码pipe理工具。
任何提示将非常感谢。
环境是如何解决的。 使用环境,您可以定义生产,分期,testing,testing,开发,培训等configuration。
深入解释如何做到这一点有点广泛,但是这里有一些你可以阅读的参考来帮助你开始:
在主存储库中,您有一个用于development , testing和production的分支(或任何适合您的工作stream程的分支)。 你在开发分支上快乐地编写你的Puppet代码,提交,提交,推送。 当你推动(通过一些Git挂钩或cron作业)你的木偶大师得到更新(由R10K),并且您的节点在他们的计划时间得到他们的更新。
据推测,你有设置到development环境的节点,所以会得到你推到development分支的变化。 你可以testing所有的。
您对自己的更改感到满意,并将其合并到下一个工作stream步骤分支中,例如production 。 推送合并的更改并开始循环 – Puppet Master获取production环境的更改,生产节点应用新的configuration。
–
现在,我看到人们有一个普遍的困惑。 Control Repo的development分支并不意味着“这是编程器机器的configuration”。 不,这意味着它是你的木偶开发分支。
那么,你如何维护一组服务器,比如说Web服务器,3个团队 – Dev,QA和Pproduction。 也就是说,每一个组织都有一个networking服务器,它们configuration几乎相同,但有细微差别,因为一个是现场制作系统,一个是质量保证组,另一个是开发人员。
为此你使用Hiera。 每个节点将应用相同的类,但参数中的细微差别或通过Hiera设置了什么。
当然你也可以使用分支来表示“正在pipe理的机器types”,而不是Hiera,但这有点荒谬,因为你不会使用Git分支来达到真正的目的。 分支将是完全不同的,你需要手动“合并”他们之间的复制/粘贴。 这将是丑陋的。