我将 R10K 与 Puppet 一起使用。Puppetfile
基本上是DSL :
因为 Puppetfile 格式实际上是使用 Ruby DSL 实现的,所以可以使用任何有效的 Ruby 表达式。
参考:https ://github.com/puppetlabs/r10k/blob/master/doc/puppetfile.mkd
所以基于此,我可以在Puppetfile
. 我试过了,它确实有效。但我不知道和不知道的是如何访问一些变量。
最终,我正在尝试做这样的事情:
mod 'app',
:git => 'https://github.com/apps/app.git',
:branch => ${environment}
这样被检出的模块分支与它被检出的环境相同。显然${environment}
不是正确的语法,也不是真正的变量名。
所以这个问题的最佳答案是如何获取环境变量,第二好的答案是如何在Puppetfile
.
当然,在我提出问题 10 分钟后,我找到了答案(已经尝试解决了好几个小时)......
在其中,
Puppetfile
您可以访问DSL
类的变量(参见GitHub 中的 DSL 类。因此,您可以访问@librarian
哪个是Puppetfile
该类的实例(参见puppetfile.rb)。从那里,您可以访问它的属性。所以获取当前环境名称分支的答案是:
不优雅,我希望它
puppetfile.rb
能让我们直接进入环境,但这对我有用。