Zadejte aktivační události sestavení a důvody
Kdykoli je to zapotřebí, lze sestavení zařadit do fronty ručně, avšak potřeby týmu budou ve většině případů nejlépe naplněny procesy sestavení definovanými s automatickými aktivačními událostmi.Při spuštění sestavení aktivační událostí je určitý důvod zaznamenán ve vlastnosti Reason.Toto téma popisuje a vysvětluje použití všech dostupných aktivačních událostí a důvodů sestavení při vývoji procesu sestavení.
Použití aktivačních událostí sestavení pro dosažení cílů týmu
Ochrana týmu proti selhání sestavení
Udržování kvality použitím kontinuální integrace
Kontrola kvality produktu prováděním nočních ověřovacích testů sestavení
Použití automatických aktivačních událostí sestavení
Použití aktivační události Continuous Integration pro zařazení sestavení do fronty, je-li vrácen soubor se změnami
Použití aktivační události Rolling builds pro zařazení sestavení do fronty, je-li vrácen soubor se změnami, ale obsahuje-li omezení, jak často může být sestavení spouštěno
Použití aktivační události Gated Check-in pro zařazení sestavení do fronty, pokusí-li se člen týmu vrátit soubor se změnami, a zablokování změny, pokud se sestavení nezdaří.
Použití aktivační událost Schedule pro zařazování sestavení do fronty v pravidelných intervalech
Zařazení sestavení do fronty ručně
Zařazení sestavení do fronty
Zařazení soukromého sestavení do fronty
Použití vlastního kódu pro zařazení sestavení do fronty
Práce s aktivačními událostmi a důvody sestavení
Použití aktivačních událostí sestavení pro dosažení cílů týmu
Ochrana týmu proti selhání sestavení
Jsou-li vývojářem vráceny změny poškozující sestavení, výsledek může být pro malé týmy značným problémem.Náklady pro větší týmy mohou být vysoké z pohledu ztráty produktivity a zpoždění plánu.Pro ochranu některých nebo všech základních kódu proti tomuto problému lze použít aktivační událost Gated Check-in.
Udržování kvality použitím kontinuální integrace
Kontinuální integrace je proces začlenění kódu do sdíleného úložiště co nejčastěji je to možné.Při integraci kódu můžete být včas informováni o chybě v kódu poškozením sestavení nebo selháním testu.Implementaci kontinuální integrace lze provést pomocí aktivační události Continuous Integration.Aktivační událost Rolling builds je podobná aktivační události Continuous Integration a může být užitečná v případech, kdy není k dispozici dostatečně výkoný sestavovací systém, aby provedl sestavení při každém vrácení souboru se změnami.
Aktivační událost Gated Check-in může sloužit jako ještě přísnější přístup ke kontinuální integraci.Aktivační událost Continuous Integration upozorňuje členy týmu na problémy, například poškození sestavení nebo nezdařené jednotkové testy jádra, ale aktivační událost Gated Check-in zabrání zavedení těchto typů problémů do kódu.
Další informace o tom, jak použít sestavovací systém tak, aby podporoval kontinuální integraci, naleznete v tématech Definovat proces sestavování podporu kontinuální integrace a Vytvářet a zavádět nepřetržitě.
Kontrola kvality produktu prováděním nočních ověřovacích testů sestavení
Pro vyhodnocení kvality sestavení lze naplánovat pravidelné testy.Těmto testům se často říká ověřovací testy sestavení (BVT) nebo orientační testy.Tyto testy se obvykle skládají z rozsáhlé sady testů použitých pro ověření klíčových oblastí aplikace určitého sestavení.Pro implementaci nočních testů BVT lze použít aktivační událost Schedule.
Informace o aktivační události Schedule naleznete v tématu Použití aktivační události Schedule pro zařazování sestavení do fronty v pravidelných intervalech.Další informace o tom, jak nastavit proces BVT, naleznete v tématu Jak: Konfigurace a spuštění naplánovaných testů po vytvoření aplikace.
Použití automatických aktivačních událostí sestavení
V definici sestavení je nutné zadat aktivační událost sestavení.Ve většině případů je žádoucí, aby byl proces sestavení prováděn automaticky.Lze zvolit jednu z automatických aktivačních událostí popsaných v tomto oddílu.
Použití aktivační události Continuous Integration pro zařazení sestavení do fronty, je-li vrácen soubor se změnami
Definujete-li sestavení s aktivační událostí Continuous Integration, je sestavení zařazeno do fronty pokaždé, kdy člen týmu vrátí soubor se změnami.Definice sestavení Pracovní prostor určuje, které soubory definici sestavení spustí.Další informace o pracovních prostorech sestavení naleznete v tématu Práce s sestavení pracovních prostorů.
Sestavení spuštění aktivační událostí Continuous Integration mají přidělenu vlastnost Reason s hodnotou IndividualCI.
Chcete-li sestavovat několik souborů vrácených se změnami dohromady v pravidelných intervalech, použijte aktivační událost Rolling builds.
Definujete-li sestavení s aktivační událostí Rolling builds, systém sestavení zařadí sestavení každého vrácení se změnami do fronty, dokud sestavení není spuštěno.Je-li sestavení spuštěno, systém čeká na jeho dokončené a poté zařadí do fronty jiné sestavení všech vrácení se změnami, která ještě nebyla sestavena.Lze také omezit četnost sestavení zaškrtnutím políčka Nesestavovat častěji než každýchn minut a zapsáním celého čísla v rozsahu 0 až 2147483647.
Lze například mít pouze jeden agent sestavení, který bude dokončovat sestavení každých 20 minut.Použijete-li aktivační událost Continuous Integration a tým vrátí kód se změnami devětkrát v čase mezi 10 A.M. a 11 A.M., může být poslední vrácení se změnami sestaveno až po 1 P.M. Pokud však použijete aktivační událost Rolling builds a zadáte jako interval 60 minut, stejná sada vrácení se změnami může být sestavena již v 11:20 A.M.
Definice sestavení Pracovní prostor určuje, které soubory definici sestavení spustí.Další informace o pracovních prostorech sestavení naleznete v tématu Práce s sestavení pracovních prostorů.
Sestavení spuštěná aktivační událostí Rolling builds mají přiřazenu vlastnost Reason s hodnotou BatchedCI.
Chcete-li zařadit sestavení do fronty v případě, že se člen týmu pokusí vrátit soubor se změnami, a zablokovat změnu, nezdaří-li se selhání, použijte aktivační událost Gated Check-in.
Definujete-li sestavení s aktivační událostí Gated Check-in, změny odeslané členem týmu do systému správy verzí jsou umístěny do sady odložených změn a zařazeny do fronty k sestavení.Pro dokončení procesu vrácení se změnami musí být sestavení úspěšné.Definice sestavení Pracovní prostor určuje, které soubory jsou definicí sestavení řízeny.Další informace o pracovních prostorech sestavení naleznete v tématu Práce s sestavení pracovních prostorů.
Sestavení spuštěná aktivační událostí Gated Check-in mají přiřazenu vlastnost Reason s hodnotou CheckInShelveset.
Další informace o implementaci aktivační události Gated Check-in naleznete v tématu Definovat proces Gated sestavení políčko ověřit změny.Další informace o tom, jak tento typ definice sestavení ovlivňuje tým, naleznete v tématu Kontrola v čekající změny, které jsou řízeny Gated změnami sestavení.
Použití aktivační událost Schedule pro zařazování sestavení do fronty v pravidelných intervalech
Aktivační událost Schedule
Definujete-li sestavení s aktivační událostí Schedule a zrušíte-li zaškrtnutí políčka Sestavit, i když od předchozího sestavení nebylo nic změněno, je sestavení zařazeno do fronty v zadané dny a časy, pokud byly od posledního spuštění této definice sestavení vráceny změny.Sestavení je zařazeno do fronty bez ohledu na to, zda změny souvisely s předchozím funkčním sestavením.
Sestavení spuštěná tímto způsobem mají přiřazenu vlastnost Reason s hodnotou Schedule.
Tip
Pokud vyvíjíte vlastní šablonu procesu sestavení a zvolíte hodnotu Schedule jako hodnotu vlastnosti Reason v oddílu šablony Omezení částí procesu sestavení v závislosti na důvodu (aktivační události) (aktivita InvokeForReason), měla by ve většině případů být také zvolena hodnota ScheduleForced.
Aktivační událost Schedule (Důvod: ScheduleForced)
Definujete-li sestavení s aktivační událostí Schedule a zaškrtnete-li políčko Sestavit, i když od předchozího sestavení nebylo nic změněno, je sestavení zařazeno do fronty v zadaných dnech a časech.Sestavení je do fronty zařazeno bez ohledu na to, zda byly vráceny změny.
Sestavení spuštěná tímto způsobem mají přiřazenu vlastnost Reason s hodnotou ScheduleForced.
Tip
Pokud vyvíjíte vlastní šablonu procesu sestavení a zvolíte hodnotu ScheduleForced jako hodnotu vlastnosti Reason v oddílu šablony Omezení částí procesu sestavení v závislosti na důvodu (aktivační události) (aktivita InvokeForReason), měla by ve většině případů být také zvolena hodnota Schedule.
Zařazení sestavení do fronty ručně
V některých situacích může být žádoucí použít proces sestavení, který není spouštěn automaticky.
Definice sestavení nemusí být připravena na automatická spouštění, protože je stále ve vývoji.
Lze také mít zvláštní proces sestavení, který je žádoucí spouštět pouze ručně.
V těchto situacích lze zvolit aktivační událost Manual.Definice sestavení bude spuštěna pouze v případě, že ji člen týmu zařadí do fronty ručně.
Zařazení sestavení do fronty
Definici sestavení lze do fronty zařadit ručně i v případě, že je definována s aktivační událostí jinou než Manual.Zařadíte-li sestavení do fronty ručně, je vlastnost Reason nastavena na hodnotu Manual.Další informace o tom, jak zařadit sestavení do fronty ručně, naleznete v tématu Fronty sestavení.
Zařazení soukromého sestavení do fronty
Chcete-li sestavit změny odložené do sady odložených změn, lze pro ověření změn kódu před jeho vrácením použít soukromé sestavení (známé také jako "kamarádské sestavení").Zařadíte-li soukromé sestavení do fronty ručně, je vlastnost Reason nastavena na hodnotu ValidateShelveset.Další informace o tom, jak zařadit soukromé sestavení do fronty, naleznete v tématu Fronty sestavení.
Použití vlastního kódu pro vytvoření dokončeného sestavení
Vlastní kód vytváření dokončená sestavení lze vyvinout využitím tříd v oboru názvů Microsoft.TeamFoundation.Build.Je-li sestavení zařazeno do fronty tímto způsobem, je vlastnost Reason nastavena na hodnotu UserCreated.Další informace naleznete v tématu Extending Team Foundation: Build
Práce s aktivačními událostmi a důvody sestavení
Aktivační události a důvody lze v procesu sestavení využít následujícími způsoby:
Nastavení aktivační události pro proces sestavení: v definici sestavení klikněte na kartu Aktivační událost a zvolte aktivační událost, která nejlépe odpovídá potřebám týmu.Další informace o tom, jak vytvořit definici sestavení, naleznete v tématu Vytvořit definici sestavení.
Určení, které důvody pro sestavení jsou přijaty vlastním procesem sestavení: segmenty procesu sestavení, které chcete spustit pouze v sestaveních spuštěných s určitým důvodem, lze uzavřít do aktivity InvokeForReason.Další informace naleznete v tématu Omezení částí procesu sestavení v závislosti na důvodu (aktivační události) (aktivita InvokeForReason).