10

我试图让 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
4

2 回答 2

12

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

所以,FACTER_foo 会变成 $::foo。

于 2013-04-09T19:29:43.520 回答
6

我认为您希望通过本次对话解决的自定义事实来执行此操作。

于 2013-04-09T17:15:20.923 回答