Sono rimasto bloccato con lo stesso problema e ho votato per il problema menzionato da Evgeny. Una soluzione che pensavamo, come menzionato in sergiussergius, consisteva nell'aggiungere un ultimo passaggio nella sequenza build-steps per attivare manualmente la successiva configurazione di build passando parametri di custom-build utilizzando l'API REST. Ma in questo caso, stiamo perdendo le informazioni sulla catena di costruzione. Utilizzando TeamCity 9.x, provando alcune cose sull'API REST, ho potuto implementare una soluzione che consente di recuperare la build di innesco (antenato) ei suoi parametri dalla build (secondaria) innescata. La prima cosa che facciamo è sempre la build corrente utilizzando le variabili di ambiente stabiliti dal TeamCity:
https://<host>/httpAuth/app/rest/builds/number:<env.BUILD_NUMBER>,buildType:(name:<env.TEAMCITY_BUILDCONF_NAME>,project:<env.TEAMCITY_PROJECT_NAME>)
Nella risposta l'API REST, abbiamo un /build/innescato tag che contiene le informazioni sul grilletto . Sembra che questo
<triggered type="unknown" details="##triggeredByBuildType='<triggering-build-configuration-internalId>' triggeredByBuild='<triggering-build-number>'" date="20160105T190642+0700"/>
Gli sguardi come btxxx per noi. Da essa, si può accedere al trigger-build (antenato) utilizzando la seguente richiesta per l'API REST:
https://<host>/httpAuth/app/rest/builds/number:<triggering-build-number>'4,buildType:(internalId:<triggering-build-configuration-internalId>1,project:name:<env.TEAMCITY_PROJECT_NAME>)
dalla risposta, siamo in grado di ottenere i valori dei parametri di l'antenato-costruzione, e impostarlo nella corrente costruire utilizzando:
echo "##teamcity[setParameter name='env.ENV_AAA' value='aaaaaaaaaa']")
Note:
- questo post riferimento versione TeamCity 7.x. L'ho fatto usando TeamCity versione 9.X, e non ho potuto provare con una versione precedente. Non so se le chiamate API REST menzionate nel mio post siano simili nelle versioni precedenti.
- In questa soluzione, l'accumulo di configurazione degli antenati (colui che innescano la costruzione) e l'accumulo di configurazione del bambino (quello innescato) sono nello stesso progetto. Non ho fatto il test utilizzando build-configurazioni in 2 diversi progetti: mi aspetterei il tag "trigger" per fornire informazioni sul progetto degli antenati. Sarebbe bello se qualcuno potesse fare il test.
Spero che questa soluzione può aiutare!
fonte
2016-01-13 15:48:06
Nice little suff PowerShell. Ma questo non può essere una scusa per i ragazzi JetBrains per non avere questa funzione in TeamCity sé. –