13

Sto provando a impostare un trigger di build per TeamCity utilizzando Mercurial come VCS. In questo momento il trigger è simile al seguente:Come impostare un trigger di build Mercurial VCS per TeamCity che ignora le operazioni dell'etichetta

+:/** 

Questo trigger viene generato quando si eseguono i changeset. Tuttavia, ho configurato TeamCity per taggare ogni build nel VCS. Il processo di tagging sta attivando il trigger di build sopra riportato in modo che la build venga catturata in un loop.

Qualcuno può suggerire un trigger di build VCS che filtrerà il processo di codifica?

risposta

24

Aggiungendo il modello di innesco:

-:/.hgtags 

filtra il file .hgtags dal grilletto build. Questo è il file che viene modificato quando la fonte viene taggata da TeamCity. Quando questo file è escluso, le operazioni di tagging non generano il trigger di build.

+0

Ho provato diverse opzioni/schemi per eliminare questo problema. In realtà questa era la soluzione migliore! Thx – Chris

+0

In realtà questo non funziona! Come dice la finestra di dialogo dei tag .. Nota: le regole di checkout possono essere impostate solo su directory, i file non sono supportati – AlSki

+0

E mi piacerebbe davvero una risposta anche su questo – AlSki

1

TeamCity e la sintassi di cui sopra sono estraneo a me, ma se hai capacità di scripting è possibile controllare se un changeset è un tag di sola changeset facendo qualcosa di simile a questo:

if [ "$(hg log -r tip --template '{files}')" = '.hgtags' ]; then 
    echo tag only 
else 
    echo other stuff too 
fi 

Basta scambiare tip per qualsiasi changeset su cui si sta per agire e modificare le istruzioni di eco su exit, a o su hg tag come appropriato per saltare la build o semplicemente saltare la creazione di un nuovo tag se l'ultimo changeset era solo un etichetta.

+0

Grazie Ry4an. Lo script che esamina il file .hgtags mi porta alla mia soluzione di filtrare questo file con un trigger di build. –