TeamCity — triggerowanie builda po stworzeniu taga

Ostatnio miałem potrzebę stworzenia konfiguracji w TeamCity, w której build jest triggerowany, gdy tworzymy nowego taga. Przydaje się to w szczególności na branchu master, gdy nie chcemy tworzyć builda lub/i kalkulować nowej wersji podczas każdego commita, a jedynie wtedy kiedy sami, w sposób explicite, stworzymy nowy tag (wersję). Niestety, aktualnie TeamCity nie wspiera jeszcze tej funkcji, ale jest na to workaround. Poniżej podaję gotowy przepis na tę konfigurację.

Aby build triggerował się tylko i wyłącznie podczas stworzenia nowego taga należy zastosować następujące ustawienia:

Version Control Settings > Branch Filter:

+:*
-:<default>

Version Control Settings > VCS Root:

  • Default branch: master

  • Branch specification:

+:refs/tags/*
-:<default>
  • ✅ Enable to use tags in the branch specification (opcja ma być zaznaczona)

Triggers > VCS Trigger:

  • Branch filter: (nic)

Parameters:

Dodatkowo, musimy dodać następujący parametr (Configuration Parameters): teamcity.vcsTrigger.runBuildInNewEmptyBranch z wartością true.

Jeśli nie korzystamy z prefiksów w taga dla wersji, to możemy też ustawić wersję bezpośrednio z taga:

Build number format: %teamcity.build.branch%

Powyższą receptę przetestowałem na TeamCity w wersji 2019.1.5. Ticket do TeamCity traktujący o problemie to TW-43606.

Opublikowano 13 listopada 2019

Blog o programowaniu
Dariusz Woźniak · GitHub · LinkedIn · Twitter · Goodreads