我正在使用 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}
Run Code Online (Sandbox Code Playgroud)
这样签出的模块分支与其签出的环境相同。显然${environment}
lt 不是正确的语法,也不是真正的变量名称。
因此,这个问题的最佳答案是如何获取环境变量,第二个最佳答案是如何在Puppetfile
.
当然,在我提出问题 10 分钟后,我就找到了答案(几个小时以来一直试图解决这个问题)......
在 中,Puppetfile
您可以访问该类的变量DSL
(请参阅GitHub 中的 DSL 类。因此,您可以访问@librarian
该类的实例Puppetfile
(请参阅puppetfile.rb)。从那里,您可以访问其属性。
所以获取当前环境名称的分支的答案是:
mod 'app',
:git => 'https://github.com/apps/app.git',
:branch => @librarian.basedir.split('/').last
Run Code Online (Sandbox Code Playgroud)
不优雅,我希望它puppetfile.rb
能让我们直接进入环境,但这对我有用。
归档时间: |
|
查看次数: |
1632 次 |
最近记录: |