2015-09-09 18 views
14

Voglio che TeamCity crei tutte le richieste di pull per il ramo di destinazione specifico, ad es. develop.
Quindi, voglio costruire seguenti richieste di pull:Costruisci richieste pull a ramo specifico usando TeamCity e Github

develop...foo_branch 
develop...bar_branch 

e saltare questo:

master...foo_branch 
master...bar_branch 

In TeamCity posso definire branch specification per costruire tutti tirare richieste:

+:refs/pull/*/head 

o definire il filtro per ramo di origine:

-:refs/heads/(spikes-*) 

Ma ho bisogno di filtro per destinazione filiale. È possibile?

+0

Mi piacerebbe una risposta a questo, un po 'per questo. –

+0

Vorrei sapere anche la risposta. – MartinCz

+0

Ho la stessa domanda. Mi piacerebbe avere una risposta – ppapapetrou

risposta

3

Attualmente non è possibile differenziare i rami delle richieste di pull in base al loro ramo di destinazione in TeamCity. Si prega di guardare/votare per la richiesta https://youtrack.jetbrains.com/issue/TW-43759 che è prevista per la prossima versione.

5

Ho scritto uno script per ovviare a questo problema. Può essere eseguito come uno dei primi passi di costruzione nella configurazione di build di TC. Lo script richiederà i dettagli della richiesta di pull da Github, analizzerà la risposta e inserirà i nomi dei rami di origine e di destinazione come parametri di TeamCity e variabili di ambiente. Nei prossimi passi di costruzione, sarai in grado di abortire la build o fare qualsiasi altra cosa tu abbia bisogno basandoti su queste variabili.

https://gist.github.com/dzzh/a6d8631e9617777fb5237bc9ec7b356b

per lo script di lavorare, dovrete inviare id di PR come argomento della riga di comando. Usiamo il refspec raccomandato (refs/pulls/*/head) per eseguire le nostre build, estraggo l'id PR da esso e invoco lo script con esso.

+0

Come si cancellano i build senza i messaggi di errore visualizzati nei propri GitHub PR? Ho trovato https://confluence.jetbrains.com/display/TCD10/Build+Failure+Conditions che mi consentirebbe di arrestare immediatamente le build errate, ma non segnalerò ancora una build fallita a GitHub ? Quindi, se costruisco un PR contro il mio ramo 'release-2.6' ma ho 3 configurazioni di build, vedrei 2 messaggi di stato di errore" Build 'master' failed"; "Build' release-2.5' failed "e un solo messaggio di stato di successo" Build 'release-2.6' è riuscito". Sai come interrompere la compilazione senza riportare errori a GitHub? – rmunn

Problemi correlati