13

Próbuję ustawić wyzwalacz budowania dla TeamCity, używając Mercurial jako VCS. Obecnie wyzwalacz wygląda następująco:Jak ustawić wyzwalacz budowania Mercurial VCS dla TeamCity, który ignoruje operacje etykiet

+:/** 

Ten wyzwalacz zostanie uruchomiony, gdy zestawy zmian zostaną zatwierdzone. Mam jednak konfigurację TeamCity, aby oznaczyć każdą kompilację w VCS. Proces tagowania uruchamia powyższy wyzwalacz kompilacji, więc budowanie zostaje przechwycone w pętli.

Czy ktoś może zaproponować wyzwalacz budowania VCS, który odfiltrowuje proces znakowania?

Odpowiedz

24

Dodanie wzór wyzwalania:

-:/.hgtags 

odfiltrowuje plik .hgtags z kompilacji spuście. Jest to plik, który jest modyfikowany, gdy źródło jest oznaczone przez TeamCity. Gdy ten plik zostanie wykluczony, operacje tagowania nie uruchomią wyzwalacza budowania.

+0

Próbowałem różnych opcji/wzorców, aby pozbyć się tego problemu. Właściwie to było najlepsze rozwiązanie! Thx – Chris

+0

Właściwie to nie działa! Jak informuje okno dialogowe tagu .. Uwaga: reguły kasowania mogą być ustawione tylko na katalogi, pliki nie są obsługiwane. – AlSki

+0

I bardzo chciałbym odpowiedzi na to też – AlSki

1

TeamCity i składnia powyżej są mi obce, ale jeśli masz możliwości skryptowych można sprawdzić, czy changeset jest tag tylko changeset robiąc coś takiego:

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

Wystarczy zamienić się tip dla każdego zestawu zmian, nad którym zamierzasz działać, i zmień instrukcje echa na exit, make lub hg tag odpowiednio, aby pominąć kompilację lub po prostu pomiń tworzenie nowego znacznika, jeśli ostatni zestaw zmian był tylko etykietka.

+0

Dzięki Ry4an. Twój skrypt patrząc na plik .hgtags prowadzi mnie do mojego rozwiązania filtrowania tego pliku za pomocą wyzwalacza budowania. –

Powiązane problemy