Kanály verzí a zdroje artefaktů

Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019

Pomocí Azure Pipelines můžete nasadit artefakty z široké škály zdrojů artefaktů a integrovat pracovní postup s různými typy úložišť artefaktů. Vydané verze se dají propojit s několika zdroji artefaktů, kde jeden je označený jako primární zdroj.

Zdroje artefaktů

Azure Pipelines podporuje širokou škálu úložišť, nástrojů pro správu zdrojového kódu a systémů kontinuální integrace.

Při vytváření verze můžete zadat verzi zdroje artefaktů. Verze ve výchozím nastavení používají nejnovější verzi zdrojového artefaktu. Můžete se také rozhodnout použít nejnovější build z konkrétní větve tak, že zadáte značky, konkrétní verzi nebo povolíte uživateli zadat verzi v době vytvoření verze.

Snímek obrazovky znázorňující, jak přidat artefakt do klasického kanálu verze

Pokud propojit více než jeden artefakt, můžete určit, který z nich je primárním zdrojem (výchozí). Primární zdroj artefaktů slouží k nastavení řady předdefinovaných proměnných. Dá se použít také ve verzích pojmenování.

Snímek obrazovky znázorňující, jak nastavit primární zdrojový artefakt

Poznámka:

Položky Default version rozevíracího seznamu závisí na zdrojovém typu definice propojeného sestavení.

  • Všechny typy úložišť podporují následující možnosti: Specify at the time of release creation, Specific versiona Latest.

  • Latest from a specific branch with tags a Latest from the build pipeline default branch with tags možnosti jsou podporovány následujícími typy úložišť: TfsGit, GitHub, Bitbucketa GitHubEnterprise.

  • Latest from the build pipeline default branch with tags definice sestavení nepodporují XAML .

Následující části popisují, jak pracovat s různými typy zdrojů artefaktů.

Zdroje artefaktů – Azure Pipelines

Kanál verze můžete propojit s libovolným buildem Azure Pipelines. Můžete také propojit několik kanálů buildu a zadat jejich výchozí hodnoty a nastavit triggery nasazení na více zdrojích sestavení. Po dokončení některého sestavení se aktivuje vytvoření verze.

Při použití Azure Pipelines jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit a zobrazí se v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.
Fáze nasazení Souhrn sestavení obsahuje seznam všech fází nasazení, do kterých byl artefakt nasazen.

Poznámka:

Do kanálu buildu musíte zahrnout úlohu Publikovat artefakty . U kanálů sestavení YAML se artefakt s přetažením názvu publikuje implicitně.

Ve výchozím nastavení se vydané verze spouštějí s oborem autorizace úlohy na úrovni kolekce. To znamená, že vydané verze mají přístup k prostředkům ve všech projektech v organizaci (nebo kolekci pro Azure DevOps Server). To je užitečné při propojování artefaktů sestavení z jiných projektů. Pokud chcete omezit přístup k artefaktu projektu, můžete povolit omezení rozsahu autorizace úlohy na aktuální projekt pro kanály verze v nastavení projektu.

Nastavení rozsahu autorizace úlohy pro organizaci:

  • Přejděte do nastavení organizace.
  • V části Pipelines (Kanály) vyberte Nastavení.
  • Zapněte přepínač Omezit rozsah autorizace úlohy na aktuální projekt pro kanály verze, abyste omezili rozsah na aktuální projekt. Toto je doporučené nastavení pro dobrá bezpečnostní opatření.

Nastavení oboru autorizace úlohy pro konkrétní projekt:

  • Přejděte do nastavení projectu.
  • V části Pipelines (Kanály) vyberte Nastavení.
  • Zapněte přepínač Omezit rozsah autorizace úlohy na aktuální projekt pro kanály verze, abyste omezili rozsah na aktuální projekt. Toto je doporučené nastavení, protože vylepšuje zabezpečení vašich kanálů.

Poznámka:

Pokud je obor nastavený na projekt na úrovni organizace, nemůžete změnit obor v každém projektu.

Všechny úlohy ve vydané verzi se spustí s oborem autorizace úlohy nastaveným na kolekci. Jinými slovy, tyto úlohy mají přístup k prostředkům ve všech projektech v kolekci projektů.

Zdroje artefaktů – správa verzí

Existují některé scénáře, ve kterých můžete chtít využívat artefakty z různých zdrojových ovládacích prvků přímo bez jejich předání kanálem buildu. Příklad:

  • Vývoj PHP nebo javascriptové aplikace, která nevyžaduje explicitní kanál buildu

  • Konfigurace pro různé fáze spravujete v různých úložištích správy verzí a chcete tyto konfigurační soubory využívat přímo ze správy verzí jako součást kanálu nasazení.

  • Infrastrukturu a konfiguraci spravujete jako kód a chcete tyto soubory spravovat v úložišti správy verzí.

Vzhledem k tomu, že v jednom kanálu verze můžete nakonfigurovat více zdrojů artefaktů, můžete propojit kanál buildu, který vytvoří binární soubory vaší aplikace, a také úložiště správy verzí, které ukládá konfigurační soubory do stejného kanálu, a použít dvě sady artefaktů společně při nasazování.

Azure Pipelines podporuje úložiště Správa verzí Team Foundation (TFVC), úložiště Git a úložiště GitHub.

Kanál verze můžete propojit s libovolným úložištěm Git nebo TFVC v libovolném projektu v kolekci (k těmto úložištím budete potřebovat přístup pro čtení). Při nasazování artefaktů správy verzí v rámci stejné kolekce se nevyžaduje žádná další instalace.

Když propojujete úložiště GitHub a vyberete větev, můžete po uložení artefaktu upravit výchozí vlastnosti typů artefaktů. To je zvlášť užitečné ve scénářích, kdy větev pro stabilní verzi změn artefaktů a verze průběžného doručování by měly tuto větev používat k získání novějších verzí artefaktu. Můžete také zadat podrobnosti o pokladně, například zda jsou dílčímoduly rezervace a soubory sledované LFS, a hloubku načtení mělké.

Když propojete větev TFVC, můžete určit sadu změn, která se má nasadit při vytváření vydané verze.

Při použití TFVC, Gitu a GitHubu jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit tak, že se zobrazí v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.

Ve výchozím nastavení se vydané verze spouštějí s oborem autorizace úlohy na úrovni kolekce. To znamená, že vydané verze mají přístup k prostředkům ve všech projektech v organizaci (nebo kolekci pro Azure DevOps Server). To je užitečné při propojování artefaktů sestavení z jiných projektů. Pokud chcete omezit přístup k artefaktu projektu, můžete povolit omezení rozsahu autorizace úlohy na aktuální projekt pro kanály verze v nastavení projektu.

Zdroje artefaktů – Jenkins

Pokud chcete využívat artefakty Jenkinse, musíte vytvořit připojení služby pro ověření pomocí serveru Jenkinse. Další informace najdete v tématu správa připojení služeb a připojení ke službě Jenkins. Aby bylo možné publikovat artefakty, musí být projekt Jenkins nakonfigurovaný pomocí akce po sestavení.

Při použití Jenkinse jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit a zobrazí se v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.

Artefakty generované sestaveními Jenkinse se obvykle šíří do úložišť úložiště pro archivaci a sdílení. Úložiště objektů blob v Azure je jedním z podporovaných úložišť, což umožňuje využívat projekty Jenkinse, které publikují do úložiště Azure jako zdroje artefaktů v kanálu verze. Azure Pipelines automaticky stáhne artefakty z Azure do agenta, na kterém kanál běží. V tomto scénáři není potřeba připojení mezi agentem a serverem Jenkinse. Agenty hostované Microsoftem je možné použít bez vystavení serveru na internet.

Poznámka:

Azure Pipelines možná nebude moct kontaktovat váš server Jenkinse, pokud je například ve vaší podnikové síti. V takovém případě můžete azure Pipelines integrovat s Jenkinsem nastavením místního agenta, který má přístup k serveru Jenkins. Při připojování k sestavení neuvidíte název projektů Jenkinse, ale název můžete zadat do textového pole adresy URL.

Zdroje artefaktů – kontejnery

Při nasazování kontejnerizovaných aplikací se změny image kontejneru nejprve nasdílí do registru kontejneru. Image kontejneru pak můžete nasadit do Azure Web App for Containers nebo do clusteru Docker/Kubernetes. Pro ověření v Azure musíte vytvořit připojení služby. Další podrobnosti najdete v tématu Správa připojení služeb.

Při použití kontejneru Azure jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit a zobrazí se v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.

Poznámka:

Pokud používáte více zdrojů artefaktů, mapování zdroje artefaktů na aktivaci konkrétní fáze se nepodporuje. Vydání se vytvoří, kdykoli dojde k nasdílení změn do některého ze zdrojů artefaktů. Pokud to chcete udělat, Azure Pipelines doporučuje rozdělit kanál verze na několik verzí.

Zdroje artefaktů – Azure Artifacts

Níže jsou uvedené některé scénáře, ve kterých můžete jako zdroj artefaktů použít Azure Artifacts:

  1. Binární soubor vaší aplikace se publikuje do Azure Artifacts a chcete balíček využívat v kanálu verze.
  2. V rámci pracovního postupu nasazení potřebujete další balíčky uložené v Azure Artifacts.

Pomocí Azure Artifacts v kanálu verze musíte vybrat informační kanál, balíček a výchozí verzi balíčku. Můžete vybrat nejnovější verzi balíčku, použít konkrétní verzi nebo vybrat verzi v době vytvoření verze. Během nasazování se balíček stáhne nebo extrahuje do agenta, na kterém běží váš kanál.

Při použití Azure Artifacts jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit a zobrazí se v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.

Zpracování snímků Mavenu

Při použití snímků Mavenu je možné stáhnout více verzí najednou (například myApplication-2.1.0.BUILD-20190920.220048-3.jar, , myApplication-2.1.0.BUILD-20190820.221046-2.jar). myApplication-2.1.0.BUILD-20190820.220331-1.jar Možná budete muset před nasazením odebrat starou verzi a zachovat nejnovější artefakt. Spuštěním následujícího příkazu PowerShellu na příkazovém řádku se zvýšenými oprávněními odeberte všechny kopie kromě těch s nejvyšší lexikografickou hodnotou:

Get-Item "myApplication*.jar" | Sort-Object -Descending Name | Select-Object -SkipIndex 0 | Remove-Item

Poznámka:

Do informačního kanálu můžete uložit až 30 snímků Mavenu. Jakmile dosáhnete maximálního limitu, Azure Artifacts automaticky odstraní snímky až na 25. Tento proces se aktivuje automaticky při každém publikování 30 snímků do informačního kanálu.

Zdroje artefaktů – server TFS

Azure Pipelines můžete použít k nasazení artefaktů ze serverů TFS, aniž byste museli server zjistit na internetu nastavením místního agenta automatizace. Artefakty se stáhnou do místního agenta a pak se nasadí na zadané cílové servery bez opuštění podnikové sítě. To je ideální pro zákazníky, aby využili své investice do místní infrastruktury a využili výhod vydaných verzí Azure Pipelines.

Pokud chcete používat servery TFS jako zdroj artefaktů, musíte nainstalovat artefakty TFS pro rozšíření Azure Pipelines z webu Visual Studio Marketplace a pak vytvořit připojení služby pro ověření pomocí Azure Pipelines. Po ověření můžete kanál buildu TFS propojit s kanálem verze a v rozevírací nabídce Typ zvolit externí sestavení TFS.

Při použití serverů TFS jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit a zobrazí se v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.

Služba Azure Pipelines nemusí být schopná kontaktovat místní server TFS pro případ, že je v podnikové síti. V takovém případě můžete službu Azure Pipelines integrovat se sadou TFS nastavením místního agenta, který má přístup k serveru TFS. Při propojení se sestavením nebudete moct zobrazit název projektů NEBO kanálů sestavení TFS, ale tyto proměnné můžete zahrnout do textových polí adresy URL. Kromě toho při vytváření verze nemusí být Azure Pipelines schopná dotazovat server TFS na čísla sestavení. Místo toho zadejte ID sestavení (ne číslo buildu) požadovaného sestavení do příslušného pole nebo vyberte nejnovější sestavení.

Zdroje artefaktů – TeamCity

Pokud chcete Použít TeamCity jako zdroj artefaktů, musíte nejprve nainstalovat artefakty TeamCity pro rozšíření Azure Pipelines z Visual Studio Marketplace.

Po dokončení vytvořte připojení služby pro ověření pomocí serveru TeamCity. Artefakt sestavení pak můžete propojit s kanálem verze. Konfigurace sestavení TeamCity musí být nastavena akcí pro publikování artefaktů.

Při použití TeamCity jako zdroje artefaktů jsou k dispozici následující funkce:

Funkce Popis
Vydané verze automatického triggeru Nové verze je možné vytvořit automaticky, když je k dispozici nový artefakt sestavení (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze.
Proměnné artefaktů Řada proměnných artefaktů je podporovaná pro zdroje Azure Pipelines.
Pracovní položky a potvrzení Pracovní položky Azure Pipelines můžete propojit a zobrazí se v podrobnostech o vydaných verzích. Potvrzení se zobrazí při použití zdrojových ovládacích prvků Git nebo TFVC.
Stažení artefaktů Ve výchozím nastavení se artefakty sestavení stáhnou do agenta, na kterém běží kanál. Můžete také nakonfigurovat krok ve fázi, který přeskočí stahování artefaktu.

Azure Pipelines nemusí být schopná kontaktovat váš server TeamCity, pokud je například v podnikové síti. V takovém případě můžete azure Pipelines integrovat s TeamCity nastavením místního agenta, který má přístup k serveru TeamCity. Při připojování k sestavení neuvidíte název projektů TeamCity, ale můžete ho zadat do textového pole adresy URL.

Alias zdroje artefaktů

Aby bylo zajištěno jedinečnost každého stahování artefaktů, každý zdroj artefaktů propojený s kanálem verze se automaticky poskytuje s konkrétním umístěním pro stahování, které se označuje jako zdrojový alias. K tomuto umístění je možné přistupovat pomocí proměnné: $(System.DefaultWorkingDirectory)\[source alias]

Použití zdrojových aliasů zajišťuje, že přejmenování propojeného zdroje artefaktů nevyžaduje úpravu vlastností úlohy, protože umístění pro stažení definované v agentovi se nezmění.

Ve výchozím nastavení je zdrojový alias názvem zdroje artefaktu s předponou podtržítka. V závislosti na typu zdroje artefaktů to bude název kanálu buildu, názvu úlohy, názvu projektu nebo názvu úložiště. Zdrojový alias můžete upravit na kartě artefaktů kanálu verze.

Stažení artefaktů

Po dokončení nasazení do fáze se do agenta kanálu stáhnou artefakty s verzemi z jednotlivých zdrojů, aby k těmto artefaktům mohly přistupovat úlohy spuštěné v této fázi. Stažené artefakty se po dokončení vydané verze neodstraní. Když však zahájíte příští verzi, stažené artefakty se odstraní a nahradí novou sadou artefaktů.

Při spuštění verze se vytvoří nová jedinečná složka v agentu pro každý kanál verze a artefakty se stáhnou do následující složky:$(System.DefaultWorkingDirectory)

Azure Pipelines neprovádí žádnou optimalizaci, aby se zabránilo stahování nezměněných artefaktů, pokud je stejná verze znovu nasazená. Vzhledem k tomu, že se při zahájení nové verze vždy odstraní dříve stažený obsah, azure Pipelines nemůže provádět přírůstkové stahování agenta.

Pokud to ale chcete udělat, můžete nastavit kanál tak, aby přeskočil automatické stahování pro určitou úlohu nebo fázi.