Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure DevOps Services | Azure DevOps Server | Azure DevOps Server 2022
Klasické kanály verzí poskytují vývojářům architekturu pro efektivní a bezpečné nasazování aplikací do více prostředí. Pomocí klasických kanálů verzí můžete automatizovat procesy testování a nasazení, nastavit flexibilní strategie nasazení, začlenit schvalovací pracovní postupy a zajistit hladké přechody aplikací v různých fázích.
Jak fungují vydávací potrubí
V rámci každého nasazení azure Pipelines provádí následující kroky:
Schválení před nasazením:
Když se aktivuje nová žádost o nasazení, Azure Pipelines před nasazením verze do fáze ověří, jestli je nezbytné schválení předběžného nasazení. Pokud je schválení potřeba, pošle příslušné schvalovatelům e-mailová oznámení.
Úloha nasazení fronty:
Azure Pipelines naplánuje úlohu nasazení na dostupném agentu.
Výběr agenta:
Dostupný agent převezme úlohu nasazení. Vydávací kanál lze nakonfigurovat tak, aby během provádění dynamicky vybral vhodného agenta.
Stažení artefaktů:
Agent načte a stáhne všechny artefakty zadané ve vydané verzi.
Spusťte úlohy nasazení:
Agent vykonává všechny úkoly v úloze nasazení.
Vytvořit protokoly o průběhu
Agent generuje komplexní protokoly pro každý krok nasazení a odesílá je zpět do Azure Pipelines.
Schválení po nasazení:
Po dokončení nasazení do fáze Azure Pipelines ověří, jestli je pro danou fázi nezbytné schválení po nasazení. Pokud není potřeba schválení nebo jakmile je získáno požadované schválení, zahájí nasazení do další fáze.
Model nasazení
Kanály vydání Azure podporují širokou škálu zdrojů artefaktů, včetně Jenkins, Azure Artifacts a TeamCity. Následující příklad znázorňuje model nasazení zahrnující využití kanálů pro vydání v Azure.
V následujícím příkladu se kanál skládá ze dvou artefaktů sestavení pocházejících z samostatných kanálů sestavení. Aplikace se nejprve nasadí do fáze vývoje a pak do dvou samostatných fází kontroly kvality . Pokud je nasazení úspěšné v obou fázích kontroly kvality, aplikace se nasadí do okruhu Prod 1 a pak do okruhu Prod 2. Každý produkční okruh představuje více instancí stejné webové aplikace nasazené do různých umístění po celém světě.
Vydání vs. nasazování
Vydání je konstrukce, která obsahuje verzovanou sadu artefaktů specifikovaných v CI/CD kanálu. Obsahuje snímek všech informací potřebných k provedení všech úkolů a akcí v potrubí vydání, jako jsou fáze, úlohy a zásady, včetně triggerů, schvalovatelů a možností nasazení. Z jednoho vydávacího kanálu může být více vydání a informace o každém z nich se ukládají a zobrazují v Azure Pipelines po stanovené období uchovávání.
Nasazení je akce spuštění úloh pro jednu fázi, která může zahrnovat spouštění automatizovaných testů, nasazování artefaktů sestavení nebo jakékoli další akce určené pro danou fázi. Spuštění vydání zahájí každou implementaci na základě nastavení a zásad definovaných v původním konstrukčním kanálu vydání. Pro každé vydání může být více nasazení, dokonce i v rámci jedné fáze. Pokud nasazení verze ve fázi selže, můžete stejnou verzi znovu nasadit do této fáze. Pokud chcete znovu nasadit verzi, jednoduše přejděte k verzi, kterou chcete nasadit, a vyberte nasazení.
Následující diagram znázorňuje vztah mezi verzí, procesy vydání a nasazením.
časté otázky
Otázka: Proč nebylo moje nasazení spuštěno?
A: Vytvoření potrubí pro uvolnění automaticky nespustí nasazení. Tady je několik důvodů, proč k tomu může dojít:
Spouštěče nasazení: Definované spouštěče nasazení mohou způsobit, že nasazení bude pozastaveno. K tomu může dojít u plánovaných spouští nebo v případě, že dojde ke zpoždění, dokud není nasazení do jiné fáze dokončeno.
Zásady řízení front: Tyto zásady určují pořadí spuštění a kdy jsou vydané verze zařazeny do fronty pro nasazení.
Schválení před nasazením nebo brány: Konkrétní fáze mohou vyžadovat schválení nebo brány před nasazením, což brání nasazení, dokud nebudou splněny všechny definované podmínky.
Otázka: Jak můžu upravovat proměnné v době vydání?
A: Na kartě Proměnné vašeho nasazovacího potrubí, zaškrtněte políčko Nastavitelné v době vydání pro proměnné, které chcete upravit, když je verze zařazena do fronty.
Následně při generování nové verze máte možnost upravit hodnoty těchto proměnných.
Otázka: Kdy by bylo vhodnější upravit vydání namísto kanálu, který ho definuje?
A: Můžete upravit schválení, úkoly a proměnné instance vydání. Tyto úpravy se však budou vztahovat pouze na tuto instanci. Pokud chcete, aby se změny použily pro všechna budoucí vydání, upravte místo toho pipeline vydání.
Otázka: Jaké jsou scénáře, ve kterých je užitečná funkce "opuštění verze"?
A: Pokud nechcete verzi znovu použít nebo chcete zabránit jejímu použití, můžete verzi opustit následujícím způsobem : Pipelines> (...) >Opustit. Zrušit verzi nemůžete, když probíhá nasazování; musíte nejprve zrušit samotné nasazení.
Jak spravovat pojmenování nových verzí?
A: Výchozí konvence pojmenování pro vydávací kanály je pořadové číslování, kde vydání jsou pojmenována Release-1, Release-2 a tak dále. Můžete ale přizpůsobit schéma pojmenování úpravou masky formátu názvu verze. Na kartě Možnosti vašeho publikačního kanálu přejděte na stránku Obecné a upravte formát názvu vydání tak, aby vyhovoval vašim preferencím.
Při zadávání masky formátu můžete použít následující předdefinované proměnné. Příklad: Následující formát názvu verze: Release $(Rev:rrr) pro build $(Build.BuildNumber) $(Build.DefinitionName) vytvoří následující verzi: Verze 002 pro build 20170213.2 MySampleAppBuild.
| Proměnná | Popis |
|---|---|
| Rev: rr | Automaticky inkrementované číslo s alespoň zadaným počtem číslic. |
| Datum / Datum: MMddyy | Aktuální datum s výchozím formátem MMddyy. Podporují se všechny kombinace M/MM/MMM/MMMM, d/dd/ddd/dddd, y/yy/yyyy/yyyy, h/hh/H/HH, m/mm, s/ss. |
| System.TeamProject | Název projektu, do kterého tento build patří. |
| Release.ReleaseId | ID vydané verze, která je jedinečná pro všechny verze v projektu. |
| Release.DefinitionName | Název vydávacího kanálu, do kterého aktuální verze patří. |
| Build.BuildNumber | Počet sestavení obsažených ve vydané verzi. Pokud má verze více sestavení, je to číslo primárního sestavení. |
| Build.DefinitionName | Název kanálu sestavení obsaženého ve vydané verzi. Pokud má verze více sestavení, jedná se o název kanálu primárního sestavení. |
| Artifact.ArtifactType | Typ zdroje artefaktu propojeného s vydáním. Může to být například Azure Pipelines nebo Jenkins. |
| Build.SourceBranch | Větev primárního zdroje artefaktů. U Gitu je to ve formě main, pokud je větev refs/heads/main. U Řízení verzí Team Foundation se jedná o formát branch, pokud je cesta ke kořenovému serveru pro pracovní prostor $/teamproject/branch. Tato proměnná není nastavená pro Jenkinse ani jiné zdroje artefaktů. |
| Vlastní proměnná | Hodnota vlastnosti globální konfigurace definované ve vydávacím kanálu. Název vydané verze můžete aktualizovat vlastními proměnnými pomocí příkazů protokolování vydané verze. |
Otázka: Jak můžu definovat dobu uchovávání pro své verze?
A: Podívejte se na zásady uchovávání informací, abyste se dozvěděli, jak nastavit zásady uchovávání informací pro vaše kanály vydání.