在命令行上将变量传递给puppet

时间:2013-04-09 12:25:49

标签: windows teamcity puppet

我正在尝试让TeamCity在Windows上使用puppet.bat通过命令行触发puppet部署。

在Teamcity中,我使用命令行运行程序调用它 命令可执行文件:C:\ Program Files(x86)\ Puppet Labs \ Puppet \ bin \ puppet.bat 命令参数:apply myexample.pp

我想要做的还是从TeamCity传递内部版本号,以便我可以在myexample.pp中使用它

这可能吗?

更新:用于自定义事实的代码,这是下面接受的答案。

require 'open-uri'

$uri = URI.parse("http://teamcity/guestAuth/app/rest/buildTypes/id:    <BUILDID>/builds/status:SUCCESS/number")
$version = $uri.read

Facter.add("latestbuildversion") do
  setcode do    
    $version
  end
end

2 个答案:

答案 0 :(得分:12)

要通过命令行传递值,它需要是一个环境变量,前缀为FACTER _。

因此,FACTER_foo将变成$ :: foo。

答案 1 :(得分:6)

我认为您希望通过custom factsthis conversation addresses进行此操作。