我工作的一些人实际上给每个Puppet环境自己的$modulepath ,但也有共同的$modulepath 。
请在下面find一个例子:
[redis] modulepath = /usr/share/puppet/modules:/etc/puppet/modules:/etc/puppet/environments/redis/modules/ manifest=/etc/puppet/environments/redis/manifests/site.pp
我不确定这是否明智,但我想问一下,“这样做的正确方法是什么?
我愿意从Puppet的angular度来回答,也从总体configurationpipe理的angular度来看。
这实际上非常具体。 如果我需要一个环境的Redis模块,statsd模块和另外一个Apache模块,我可以通过设置模块path来处理这个问题吗? 我是不是该?
首先,这不是Puppet环境的预期用法。 所以是的,我首先会认为这是一个糟糕的做法。 你的环境是“开发”,“testing”,“生产”等。
你可能会喜欢使用R10K的 Puppetangular色和configuration文件 。
我可以给你的也是我为什么这么做的一个解释(我过去也做过类似的事情):如果这个代码/设置写得够时间的话,Puppet当时不支持angular色和configuration文件,所以它是对于各种技巧使用环境function的常见做法。