2015-12-30 26 views
9

che voglio realizzare seguendo via TeamCity nella mia casella di CI.ramo Selezionare Git per TeamCity Configurazione compilazione

Master branch commit : Build and Release 
Beta branch commit: Build and Release to Crashlytics 
All other commits to any other branch: Build 

(nota a margine poiché la maggior parte dei nostri rami di sviluppo può o non può contenere un prefisso, lo rende difficile da usare "Feature- *" ramo di denominazione)

A seguito di questa domanda Select Git branch for TeamCity Build

ho creato un parametri di configurazione nelle mie impostazioni del progetto

enter image description here

e poi

le mie impostazioni di root VCS

enter image description here

Poi ho creato un modello di generazione

enter image description here

Quando ho creato costruisce ho fatto in modo nome del ramo è corretto

enter image description here

Ho anche cercato di modificare Trigger

enter image description here

Come mai questo non sta funzionando perché quando spingo un commit in ramo Beta

penso a causa di ref/heads/* generazione predefinito è in funzione tutti i rami

e Beta e master visualizza "In attesa"

enter image description here

Come posso risolvere questo?

risposta

0

Se volete che il vostro costruisce solo attivare automaticamente quando il ramo di default è spinto a, è possibile aggiungere un filtro ramo al trigger in questo modo +:<default>.

Questo dipende dal presupposto che avete il parametro% branchname% in ogni configurazione di generazione impostato correttamente. IE, per la build predefinita, crea il parametro% BranchName% = master.

Come nota a margine, si continua a vedere tutte le modifiche in sospeso per ogni ramo, ma il grilletto verrà eseguito solo quando si spinge al di default costruire se si aggiunge il filtro ramo. Se si desidera eliminare le modifiche in sospeso per ciascun ramo, è necessario configurare la specifica radice vcs per ogni configurazione per filtrare i rami tutti insieme.

+0

Se si eseguono più radici vcs, come si condivide il 'numero build 'tra le diramazioni? –

1

ho risolto il problema parlando con altri sviluppatori e fare in modo che tutti i rami di sviluppo usa un prefisso, in questo caso XAAI-

poi nelle mie impostazioni radice VCS

enter image description here

per i trigger in ogni configurazione di build mi assicuro che venga attivata solo quando il ramo è archiviato.

ad esempio per QA (Betabuild)

enter image description here

questa è la parte difficile, per i rami di sviluppo ho dovuto dare un parametro vuoto, non so perché (forse perché qualcosa ha bisogno di controllare ramo di default che si suppone essere ref/teste/), ma qualunque sia la ragione che sta funzionando. *

enter image description here

e poi finalmente tutto assomiglia a questo

enter image description here

Quella cosa in sospeso è ancora fastidiosa ma, penso che almeno funzioni come ho immaginato ora.