Pass variable Marionette auf der Kommandozeile
Ich versuche, TeamCity, die zum auslösen eines deployment mit puppet über die Kommandozeile mit puppet.bat auf Windows.
In Teamcity ich rufe diese über ein Command Line runner, mit
Befehl ausführbar: C:\Program Files (x86)\Puppet Labs\Puppet\bin\Marionette.Fledermaus
Befehl Parameter: gelten myexample.pp
Was ich gerne tun würde, ist auch die build-Nummer von TeamCity als gut, so kann ich dieses innerhalb myexample.pp
Ist das möglich?
UPDATE: Code für Benutzerdefinierte Tatsache, die die akzeptierte Antwort unten.
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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, Sie würde wollen, tun dies über Brauch Fakten, die dieses Gespräch-Adressen.
Übergeben Sie einen Wert über die Befehlszeile es muss eine Umgebungsvariable mit dem Präfix FACTER_.
So, FACTER_foo wird in $::foo.