Używamy TeamCity i GitHub Enterprise. Używamy obieg open-source-owskiej z git: istnieje mainline
repozytorium dla każdego komponentu, a kiedy ludzie chcą wprowadzić zmiany, oneJak skonfigurować TeamCity do obsługi modelu GitHub pull-request dla integracji kodu źródłowego?
- widelec
mainline
na własny rachunek (więc nie może być wiele widelce) - utworzyć oddział w ich rozwidleniu
- wdrażania zmian
- przynieść na bieżąco z
mainline/master
zmian, które miały miejsce w międzyczasie - złożyć wniosek odrywanie
fork/feature-branch
->mainline/master
Jesteśmy bardzo zadowoleni z tego przepływu pracy; wymusza przegląd kodu (no, co najmniej krok ręczny, który, mam nadzieję, wymaga odczytywania kodu i przeprowadzania testów) zanim linia główna zauważy jakiekolwiek zmiany, które historycznie stanowiły problem. Chcielibyśmy użyć interfejsu GH Status API (blog post, API doc), aby włączyć przycisk scalania w kolorze innym niż zielony, jeśli autor jest osobą przeglądającą żądanie pobrania, ale to na później.
Mamy TeamCity 7.1 skonfigurowany do oglądania głównych repozytoriów i budować, gdy zmiany są widoczne. Jednak sposób, w jaki jest obecnie skonfigurowany, CI buduje tylko wtedy, gdy widzi zmiany na mainline/master
.
Jak powinniśmy skonfigurować nasze korzenie VCS w TeamCity, abyśmy mogli mieć ten sam przepływ pracy, ale CI uruchomi kompilację opartą na gałęziach w widłach głównego repo? Najlepiej bez konieczności rejestracji każdego widelca osobno?
Czytałem dokumentację TeamCity 7.1 jest funkcja-Branch (blog post, release notes, documentation), ale nie widzę, jak zastosować je do naszego modelu arbitralnej-number-of-widelców, w przeciwieństwie do everyone- zatwierdza do głównych linii w oddziałach.
Pamiętaj tylko, że konto użytkownika, na którym skonfigurujesz TC, aby użyło _must, ma prawo do zapisu, jeśli powiesz mu, aby powiadomił Github o statusie. – oligofren