Określanie wyzwalaczy kompilacji oraz przyczyn
Można ręcznie dodawać kompilacje do kolejki za każdym razem, gdy jest to konieczne. Jednakże potrzeby zespołu będą w większości przypadków najlepiej zaspokojone dzięki procesom kompilacji zdefiniowanym przy użyciu wyzwalaczy automatycznych.Gdy kompilacja zostaje wyzwolona, określona przyczyna jest rejestrowana we właściwości Reason.W tym temacie opisano i wyjaśniono, jak używać wszystkich dostępnych wyzwalaczy i przyczyn kompilacji podczas opracowywania procesu kompilacji.
Użyj wyzwalaczy kompilacji, aby osiągnąć cele zespołu
Chroń swój zespół przed naruszeniami kompilacji
Utrzymuj jakość dzięki integracji ciągłej
Sprawdzaj jakość produktu, co noc uruchamiając BVT
Użyj automatycznych wyzwalaczy kompilacji
Użyj wyzwalacza ciągłej integracji, by kolejkować kompilację, gdy ewidencjonowana jest zmiana
Użyj wyzwalacza stopniowej kompilacji, by kolejkować kompilację, gdy ewidencjonowana jest zmiana, ale z ograniczeniem częstości uruchomień kompilacji
Użyj wyzwalacza Ewidencjonowanie warunkowe, aby kolejkować kompilację, gdy członek zespołu próbuje zaewidencjonować zmianę oraz zablokować zmianę, gdy kompilacja nie powiedzie się
Użyj wyzwalacza Harmonogram, by kolejkować kompilację w regularnych odstępach czasu
Ręcznie kolejkowanie kompilacji
Kolejkowanie kompilacji
Kolejkowanie prywatnej kompilacji
Użyj niestandardowego kodu do kolejkowania kompilacji
Praca z wyzwalaczami kompilacji i przyczynami
Użyj wyzwalaczy kompilacji, aby osiągnąć cele zespołu
Chroń swój zespół przed naruszeniami kompilacji
Gdy deweloper wprowadza zmiany naruszające kompilację, wynik może spowodować znaczące problemy dla małych zespołów.Dla większych zespołów może to być kosztowne, gdyż jest mierzone przez utratę produktywności i opóźnienia harmonogramu.Można użyć wyzwalacza Ewidencjonowanie warunkowe do zabezpieczenia części lub całości bazy kodu przed tym problemem.
Utrzymuj jakość dzięki integracji ciągłej
Ciągła integracja jest procesem integrowania kodu do udostępnionego repozytorium tak często, jak jest to możliwe.Podczas integracji kodu naruszenie kompilacji lub niepowodzenie testu może wcześniej poinformować o błędzie w kodzie.Można użyć wyzwalacza Ciągła integracja do zaimplementowania ciągłej integracji.Wyzwalacz Wycofywanie kompilacji jest podobny do wyzwalacza Ciągła integracja i może być przydatny, gdy nie ma systemu kompilacji wystarczająco wydajnego, by przeprowadzał kompilację za każdym razem, gdy pojawia się zmiana.
Wyzwalacz Ewidencjonowanie warunkowe może służyć jako bardziej rygorystyczne podejście do ciągłej integracji.Wyzwalacz Ciągła integracja ostrzega zespół o problemach takich jak naruszenie kompilacji lub niepowodzenie kluczowych testów jednostkowych, a wyzwalacz Ewidencjonowanie warunkowe blokuje tego typu problemy przed wprowadzeniem do bazy kodu.
Aby uzyskać więcej informacji dotyczących sposobu używania systemu kompilacji do wspierania ciągłej integracji, zobacz Konfigurowanie kompilacji CI.
Sprawdzaj jakość produktu, co noc uruchamiając BVT
Możesz zaplanować regularne testy do oszacowania jakości kompilacji.Testy te są często nazywane testami weryfikacji kompilacji (BVT) lub testami dymu.Składają się zazwyczaj z szerokiego pakietu testów, używanych do weryfikacji kluczowych obszarów aplikacji w określonej kompilacji.Można użyć wyzwalacza Harmonogram do zaimplementowania nocnych testów BVT.
Aby uzyskać informacje na temat wyzwalacza Harmonogram, zobacz sekcję Użyj harmonogramu, aby kolejkować kompilację w regularnych odstępach czasu.
Użyj automatycznych wyzwalaczy kompilacji
Należy określić wyzwalacz kompilacji dla swojej definicji kompilacji.W większości przypadków proces kompilacji będzie uruchamiany automatycznie.Można wybrać jeden z automatycznych wyzwalaczy opisanych w tej sekcji.
Użyj wyzwalacza ciągłej integracji, by kolejkować kompilację, gdy ewidencjonowana jest zmiana
W przypadku zdefiniowania kompilacji z użyciem wyzwalacza Ciągła integracja kompilacja jest kolejkowana za każdym razem, gdy członek zespołu wprowadza zmianę.Definicja kompilacji Obszar roboczy określa, które pliki wyzwalają definicję kompilacji.Aby uzyskać więcej informacji dotyczących obszarów roboczych kompilacji, zobacz Praca z obszarami roboczymi kompilacji.
Kompilacje wyzwalane przez Integrację ciągłą mają przypisany parametr Reason z IndividualCI.
Użyj wyzwalacza Wycofywanie kompilacji, aby kompilować wiele ewidencjowań jednocześnie w regularnych odstępach.
W przypadku zdefiniowania kompilacji z wyzwalaczem Wycofywanie kompilacji system kompilacji kolejkuje kompilację każdego ewidencjonowania, póki kompilacja nie zostanie uruchomiona.Jeśli kompilacja jest uruchomiona, system czeka, aż kompilacja zostanie ukończona, a następnie kolejkuje kolejną kompilację wszystkich zmian, które jeszcze nie były skompilowane.Można również ograniczyć częstotliwość kompilacji, zaznaczając pole wyboru Kompiluj nie częściej niż con minut i wpisując wartość całkowitą z przedziału od 0 do 2147483647.
Na przykład można mieć tylko jednego agenta kompilacji i może on kończyć kompilację co 20 minut.Jeśli używa się wyzwalacza Integracja ciągła i zespół ewidencjonuje kod dziewięć razy między 10:00 i 11:00 rano, ostatnie ewidencjonowanie może nie być kompilowane aż do godziny 13:00. Jeśli jednak używa się wyzwalacza Wycofywanie kompilacji i określi jako przedział 60 minut, ten sam zestaw ewidencjonowań może być kompilowany do 11:20 przed południem.
Definicja kompilacji Obszar roboczy określa, które pliki wyzwalają definicję kompilacji.Aby uzyskać więcej informacji dotyczących obszarów roboczych kompilacji, zobacz Praca z obszarami roboczymi kompilacji.
Kompilacje wyzwalane przez Wycofywanie kompilacji mają przypisany parametr Reason z BatchedCI.
Należy użyć wyzwalacza Ewidencjonowanie warunkowe, by kolejkować kompilację, gdy członek zespołu próbuje wprowadzić zmianę, oraz zablokować zmianę, gdy kompilacja nie powiedzie się.
Tego wyzwalacza można używać tylko w projekcie zespołowym TFVC; nie jest on dostępny w projekcie zespołowym Git.
W przypadku zdefiniowania kompilacji z wyzwalaczem Ewidencjonowanie warunkowe zmiany dodawane przez członka zespołu do systemu kontroli wersji zostaną oznaczone jako oczekujące i dodane do kolejki do kompilacji.Kompilacja musi zakończyć się powodzeniem, aby proces aktualizacji mógł być ukończony.Definicja kompilacji Obszar roboczy określa, które pliki są kontrolowane przez definicję kompilacji.Aby uzyskać więcej informacji dotyczących obszarów roboczych kompilacji, zobacz Praca z obszarami roboczymi kompilacji.
Kompilacje wyzwalane przez wyzwalacz Ewidencjonowanie warunkowe mają przypisany parametr Reason z CheckInShelveset.
Aby uzyskać więcej informacji dotyczących implementacji wyzwalacza Ewidencjonowanie warunkowe, zobacz Użycie procesu kompilacji ewidencjonowania warunkowego do sprawdzenia poprawności zmian.Aby uzyskać więcej informacji o tym, jaki wpływ na zespół ma ten typ definicji kompilacji, zobacz Budowanie wyboru w oczekujące zmiany, które są kontrolowane przez Gated Zaewidencjonuj.
Użyj wyzwalacza Harmonogram, by kolejkować kompilację w regularnych odstępach czasu
Wyzwalacz Harmonogram
W przypadku zdefiniowania kompilacji z wyzwalaczem Harmonogram i wyczyszczenia pola wyboru Kompiluj nawet, gdy brak zmian od poprzedniej kompilacji, kompilacja jest kolejkowana w tych dniach i godzinach, które określono, jeśli od ostatniego uruchomienia tej definicji kompilacji zmiany zostały zaewidencjonowane.Kompilacja jest kolejkowana niezależnie od tego, czy zmiany były skojarzone z ostatnią dobrą kompilacją.
Kompilacje wyzwalane w ten sposób mają przypisany parametr Reason z Schedule.
Porada |
---|
Jeśli projektuje się niestandardowy szablon procesu kompilacji i zaznaczy Schedule jako wartość właściwości Przyczyna w sekcji InvokeForReason szablonu, w większości przypadków prawdopodobnie należy również zaznaczyć ScheduleForced. |
Wyzwalacz Harmonogram (przyczyna: ScheduleForced)
W przypadku zdefiniowania kompilacji z wyzwalaczem Harmonogram i zaznaczenia pola wyboru Kompiluj nawet, gdy brak zmian od poprzedniej kompilacji, kompilacja jest kolejkowana w tych dniach i godzinach, które zostały określone.Kompilacja jest kolejkowana niezależnie od tego, czy zaszły jakieś zmiany.
Kompilacje wyzwalane w ten sposób mają przypisany parametr Reason z ScheduleForced.
Porada |
---|
Jeśli projektuje się niestandardowy szablon procesu kompilacji i zaznaczy ScheduleForced jako wartość właściwości Przyczyna w sekcji InvokeForReason szablonu, w większości przypadków prawdopodobnie należy również zaznaczyć Schedule. |
Ręcznie kolejkowanie kompilacji
W niektórych sytuacjach proces kompilacji nie musi być uruchamiany automatycznie.
Definicja kompilacji może nie być gotowa do automatycznego uruchamiania, ponieważ wciąż jest w fazie tworzenia.
Może istnieć specjalny proces kompilacji, który użytkownik będzie uruchamiać tylko ręcznie.
W takich sytuacjach można zaznaczyć wyzwalacz Ręczny.Definicja kompilacji zostanie uruchomiona tylko wtedy, gdy członek zespołu zakolejkuje ją ręcznie.
Kolejkowanie kompilacji
Możesz ręcznie dodawać definicję kompilacji do kolejki, nawet jeśli jest zdefiniowana za pomocą wyzwalacza innego niż Ręczny.Podczas ręcznego kolejkowania kompilacji parametr Reason jest ustawiany na Manual.Aby uzyskać więcej informacji o sposobie ręcznego kolejkowania kompilacji, zobacz sekcję Kolejkowanie kompilacji.
Kolejkowanie prywatnej kompilacji
Aby skompilować zmiany, które zostały oznaczone jako oczekujące, można użyć prywatnej kompilacji (znanej również jako „buddy build”) w celu zweryfikowania zmian kodu przed jego zaewidencjonowaniem.Podczas ręcznego kolejkowania prywatnej kompilacji parametr Reason jest ustawiany na ValidateShelveset.Aby uzyskać więcej informacji o sposobie kolejkowania prywatnej kompilacji, zobacz sekcję Kolejkowanie kompilacji.
Użyj niestandardowego kodu do tworzenia kompletnej kompilacji
Można zaprojektować niestandardowy kod tworzący kompletną kompilację, wykorzystując klasy z przestrzeni nazw Microsoft.TeamFoundation.Build.Gdy kompilacja jest w ten sposób kolejkowana, parametr Reason jest ustawiany na UserCreated.Aby uzyskać więcej informacji, zobacz sekcję Rozszerzanie programu Team Foundation: kompilowanie.
Praca z wyzwalaczami kompilacji i przyczynami
Można wykorzystać wyzwalacze i przyczyny w procesie kompilacji w następujący sposób:
Ustawiając wyzwalacz dla procesu kompilacji: w definicji kompilacji kliknij kartę Wyzwalacz, a następnie zaznacz wyzwalacz, który najlepiej zaspokaja potrzeby zespołu.Aby uzyskać więcej informacji dotyczących sposobu tworzenia definicji kompilacji, zobacz Tworzenie lub edycja definicji kompilacji.
Definiując, które przyczyny kompilacji są akceptowane przez niestandardowy proces kompilacji: można użyć aktywności InvokeForReason, by ująć segment procesu kompilacji, który ma być uruchamiany tylko w kompilacjach uruchamianych z określonej przyczyny.Aby uzyskać więcej informacji, zobacz sekcję Działania związane z Team Foundation Build: InvokeForReason.