2015-09-09 15 views
14

Chcę, aby TeamCity budował wszystkie żądania ściągnięcia do określonej gałęzi docelowej, np. develop.
Tak, chcę zbudować następujące wnioski ciągnąć:Buduj żądania ściągania do określonej gałęzi za pomocą TeamCity i Github

develop...foo_branch 
develop...bar_branch 

i pominąć to:

master...foo_branch 
master...bar_branch 

W TeamCity mogę określić branch specification zbudować wszystko wyciągnąć wnioski:

+:refs/pull/*/head 

lub Zdefiniuj filtr według źródła:

-:refs/heads/(spikes-*) 

Ale potrzebuję filtra przez oddział docelowy. Czy to możliwe?

+0

Chciałbym odpowiedzi na to pytanie, nieco przez to. –

+0

Chciałbyś znać odpowiedź. – MartinCz

+0

Mam to samo pytanie. Chciałbym uzyskać odpowiedź: – ppapapetrou

Odpowiedz

3

Obecnie nie jest możliwe rozróżnienie oddziałów zleceń ściągania w oparciu o ich gałąź docelową w usłudze TeamCity. Proszę obejrzeć/głosować na wniosek https://youtrack.jetbrains.com/issue/TW-43759, który jest planowany na nadchodzące wydanie.

5

Napisałem skrypt do obejścia tego problemu. Może być uruchamiany jako jeden z pierwszych kroków kompilacji w konfiguracji kompilacji TC. Skrypt poprosi o szczegóły żądania ściągnięcia z Github, przeanalizuje odpowiedź i wstrzyknie źródła i docelowe nazwy gałęzi jako parametry TeamCity i zmienne środowiskowe. W następnych krokach kompilacji będziesz mógł przerwać kompilację lub zrobić wszystko, czego potrzebujesz na podstawie tych zmiennych.

https://gist.github.com/dzzh/a6d8631e9617777fb5237bc9ec7b356b

za scenariusz do pracy, będziesz musiał złożyć id PR jako argument wiersza poleceń. Używamy zalecanego refspec (refs/pulls/*/head), aby uruchomić nasze kompilacje, wyodrębniam z niego identyfikator PR i wywołuję skrypt.

+0

Jak można anulować kompilacje bez wyświetlania komunikatów o błędach w GitHub PR? Znalazłem https://confluence.jetbrains.com/display/TCD10/Build+Failure+Conditions, który pozwoliłby mi spowodować natychmiastowe zatrzymanie niepoprawnych kompilacji, ale nie będzie to nadal raportować nieudaną kompilację do GitHub ? Więc jeśli zbuduję PR przeciwko mojej gałęzi 'release-2.6', ale mam 3 kompilacje kompilacji, zobaczyłbym 2 komunikaty o stanie błędu" Build 'master' failed"; "Build' release-2.5' failed "i tylko jeden komunikat o stanie powodzenia" Build 'release-2.6' powiodło się". Czy wiesz, jak przerwać kompilację bez zgłaszania awarii GitHub? – rmunn

Powiązane problemy