如何在环境之间更改Puppet中的单个variables

具体来说,如果我在升级,我想要目录A,并在QA目录B:

file{'/etc/appenv': ensure => file, owner => 'root', group => 'root', mode => 0644, source => "file:///puppet/modules/myapp/appenv-${env}", } 

我现在只有一台机器需要这个特定的环境。 我读过木偶:可变的压倒一切的最佳实践 ,但我认为阶段应该用于这个目的。

而不是$ {env},请尝试按照http://docs.puppetlabs.com/guides/environment.html使用$ {environment}

如果你想改变另一个基于环境的variables,你可以在一个条件/ case语句/select器中进行:

 $dir = ${environment} ? { 'staging' =>'A', 'QA' => 'B', default => 'unknown', } file{'/etc/appenv': ensure => file, owner => 'root', group => 'root', mode => 0644, source => "file:///puppet/modules/myapp/${dir}/appenv", }