我正在尝试让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
答案 0 :(得分:12)
要通过命令行传递值,它需要是一个环境变量,前缀为FACTER _。
因此,FACTER_foo将变成$ :: foo。
答案 1 :(得分:6)
我认为您希望通过custom facts来this conversation addresses进行此操作。