2015-03-03 6 views
12

Ich habe eine Baukette mit zwei Projekten: A ist das Stammprojekt, B hängt davon ab. In B sind zwei Abhängigkeiten konfiguriert: eine Artefakt- und eine Snapshot-Abhängigkeit. Eine Build-Konfiguration für B hat eine Umgebungsvariable (Parameter) festgelegt. Ich benötige diesen Parametersatz jedoch auch für das Stammprojekt A.Eine Umgebungsvariable (Parameter) an ein Abhängigkeitsprojekt in TeamCity übergeben

Gibt es in TeamCity 9 die Möglichkeit, einen Buildkonfigurationsparameter von einem Projekt an seine Abhängigkeit zu übergeben (in derselben Buildkette)?

Antwort

15

Da Teamcity 9.0 ist es möglich, override the dependencies parameters von ihnen in der abhängigen Build neu zu definieren:

reverse.dep.<btID>.<property name> 
+0

woa - wusste das nicht - guter Haken. Das ist, was Sie wollen @Matthias – BrokenGlass

+0

In der Tat, danke! – Matthias

5

Für Teamcity 8 und unten leider die einzige Möglichkeit, Parameter weitergegeben werden ist in Richtung der Build-Kette - das Gegenteil von dem, was Sie wollen - diese Eigenschaften Dependencies Properties genannt:

Abhängigkeiten Eigenschaften

Diese Eigenschaften werden von den Builds bereitgestellt, die der aktuelle Build abhängig von (über eine Momentaufnahme oder eine Artefaktabhängigkeit) ist.

Abhängigkeiten Eigenschaften haben das folgende Format:

dep.<btID>.<property name>

Abhängigkeiten Eigenschaften fließen von der Wurzel des Baumes zu ihren Blättern (in der Richtung des Aufbaukette flow), aber nicht umge rund, so dass die Eigenschaften von A, kann dieses in B.

zugegriffen werden soll, in der Dokumentation geklärte here:

Parameter in abhängigen baut

Teamcity die Fähigkeit, Eigenschaften durch die die Strom build hängt von baut zu nutzen liefert (über eine Momentaufnahme oder ein Artefakt Abhängigkeit). Wenn Build A von Build B abhängt, können Sie Eigenschaften von Build B an Build A übergeben, d. H. Eigenschaften können nur in Richtung des Build-Chain-Flusses übergeben werden und nicht umgekehrt. Einzelheiten zur Verwendung der Parameter der vorherigen Build-in-Kette finden Sie auf der Seite mit den Abhängigkeiten Eigenschaften.

Ich habe vor als auch einen ähnlichen Anwendungsfall für den Rückfluss hatte - die Abhilfe nicht recht war - im Grunde stattdessen die Build-Kette auszulösen direkt würden wir einen unabhängigen Build auslösen (seien wir X nennen), die war nur dort, um die Build-Parameter zu halten - dann ändern Sie die Build-Kette, um die Root-Build (A in Ihrem Fall) hängen von der letzten erfolgreichen Build von X und haben die Build-Kette Trigger auf einen erfolgreichen Build von X - das sollte was Sie erreichen wollen.

Für TeamCity 9 siehe @ Alina die Antwort (die die akzeptierte Antwort sein sollte).

+0

Nun, ich denke, du hast Recht, die Dokumente bestätigen, dass dies funktioniert nur in Richtung der Build-Kette.Also habe ich die Build-Konfiguration von A in eine andere kopiert, die Variable dort gesetzt und sie als Abhängigkeit für B benutzt. – Matthias

Verwandte Themen