2014-05-01 18 views
38

Mi chiedo come selezionare il ramo da costruire contro l'utilizzo di Team City 8.1.Seleziona il ramo Git per TeamCity Build

La mia radice VCS (Git) è impostato di default: "master" e le specifiche delle filiali sono

+:refs/heads/develop 
+:refs/heads/feature/* 
+:refs/heads/hotfix/* 
+:refs/heads/master 
+:refs/heads/release/* 

Ho un accumulo CI set up che automaticamente costruisce tutto ciò che viene registrato, che sta lavorando esattamente come Voglio.

Quello che mi piacerebbe fare è creare una build/implementazione QA pianificata contro il ramo "sviluppo". Vedo che se faccio clic sui puntini di sospensione accanto al pulsante Esegui, posso scegliere il ramo nella scheda "Modifiche", ma non sono in grado di determinare come rendere questo "bastone". È possibile, o sto andando su questo sbagliato?

Grazie,

Joe

risposta

80

Sulla base del feedback di @ biswajit-86 e di alcune altre informazioni che ho trovato mentre facevo su Google, sono riuscito a farlo funzionare. Ecco cosa ho fatto (immagine pesante, scusa). Si basa su Team City 8.2 che sembra essere impostato in modo leggermente diverso rispetto agli esempi che ho trovato.

1) Impostare una radice VCS. La chiave qui è il parametro %BranchName%.

enter image description here

2) Creazione di un modello di costruzione e utilizzare la radice VCS che è stato appena creato. Ho anche aggiunto un passaggio MSBuild in quanto tutte le mie build devono eseguirlo.

enter image description here

3) Creare una nuova build, basato sul modello. Come puoi vedere qui, è disponibile il parametro %BrachName% che è stato creato nel passaggio 1.

enter image description here

4) Se è necessario cambiare in seguito, è disponibile qui

enter image description here

E questo è praticamente. Per la mia configurazione di elementi della configurazione, ho lasciato vuoto il nome del ramo in modo tale che qualsiasi ramo selezionato esegua il passaggio MSBuild. Per la mia build QA, passo in "sviluppo" come mostrato qui e ho impostato su un programma giornaliero. Ho anche una configurazione di build "di rilascio", ma in base alle convenzioni di denominazione sembra che ho bisogno di aggiornare la build in modo che punti al ramo specifico per versione.

+6

Grazie per la condivisione! – BrokenGlass

+2

Teamcity dovrebbe avere questo tipo di funzionalità ... È un peccato che non ci sia ... Per sovversione potremmo controllare questo attraverso le regole di checkout ... ma non qui ... –

+3

Questa informazione è ancora applicabile per 9.x – silencedmessage

4

È possibile parametrizzare il "nome Ref" del setup git VCS. Ciò significa che si dichiara una variabile del modulo %variable.name% nella build, creare un parametro di build nella categoria "parametro di configurazione:".

Per ogni obiettivo di build impostare questo valore e si dovrebbe essere in grado di selezionare il ramo specifico per il quale si desidera eseguire il target.

Problemi correlati