2009-08-13 5 views

Antwort

6

Bitte beachten Sie die Liste der predefined properties. In dem Rechen Skript und in der Ruby-Code diese Variablen über die Umwelt zur Verfügung stehen, zum Beispiel das in derRakefile hinzufügen:

puts 'Build number: ' + ENV['BUILD_NUMBER'] 

Wenn Sie alle verfügbaren Eigenschaften, um zu sehen, setzen Sie den folgenden Code ein:

Führen Sie den Build von TeamCity und überprüfen Sie das Protokoll, in der Alle Nachrichten Modus sehen Sie die verfügbaren Eigenschaften.

Wenn Sie eine andere Eigenschaft übergeben wollen, die in Teamcity zur Verfügung oder wird in der agent.conf-Datei definiert, sollten Sie es in dem Eigenschaften und Umgebungsvariablen Registerkarte des Konfigurations Rake hinzufügen in ther Web-UI .

Zum Beispiel wollen Sie system.CUSTOM Eigenschaft in deragent.conf Datei definiert passieren. Klicken Sie auf Fügen Sie neue Variable Verbindung hinzu, geben Sie CUSTOM als einen Namen und % system.CUSTOM% als Wert an. Jetzt in rakefile können Sie es als ENV ['CUSTOM'] zugreifen.

Die Idee besteht also darin, die Eigenschaften, die Sie über die Umgebung benötigen, zu übergeben, wenn sie nicht in der Liste der vordefinierten Eigenschaften enthalten sind, die bereits als Umgebungsvariablen übergeben wurden.

+0

wie ein Zauber Genau –

2

Ich denke, ich habe einen besseren Weg gefunden, damit umzugehen. Wenn Sie die gem JAVA_PROPERTIES installieren, fügen Sie den folgenden Code in Ihre Rakefile:

props = JavaProperties::Properties.new(ENV["TEAMCITY_BUILD_PROPERTIES_FILE"]) 

Sie jetzt einen Hash haben, die alle Systemeigenschaften in sich hat (ohne das führende ‚System‘).

Hoffe, das hilft.

Mark

+1

gearbeitet, das ist eine schöne Lösung. Siehe dazu mein Blogpost @ https://macheteddebug.wordpress.com/2014/03/30/accessing-teamcity-build-properties-from-rake-runner/ – iwo