我们采用了http://garylarizza.com/blog/2014/02/17/puppet-workflow-part-2/中概述的概念,其中介绍了组件模块,概要文件和角色的概念。
假设我们有一个组件模块“moduleA”,可以由不同的配置文件模块使用。由于不同的开发团队可能会在任何给定时刻对“moduleA”进行更改并将其推向生产(我们所有的生产服务器都订阅了Puppetmaster“生产”环境),这有点像依赖于模块的快照版本。
我在Java和Maven世界中将pom.xml指向“moduleA”的特定版本,以避免依赖于快照发布。但是,在Puppet中,我不认为这是开箱即用的。
有没有任何方法可以将Puppet打包类似于Maven或任何其他可能应用的方法,这样可以确保配置文件模块可以依赖于组件模块的特定版本?其他木偶用户如何管理?这种情况下的模块版本?
此致 肯尼斯霍尔特
答案 0 :(得分:1)
您不能在同一环境中多次使用同一模块。如果您需要同一模块的多个版本,则必须使用不同的环境。
我将如何实现这一点:
如果您使用puppet forge来保存模块,则只需更新metadata.json并使用以下命令提取新配置文件:
puppet module install profile --target-dir /etc/puppet/environments/envX