Zdroje artefaktů v kanálech verze Classic
Azure DevOps Services | Azure DevOps Server 2022 – Azure DevOps Server 2019
S klasickými kanály verze můžete artefakty nasadit z široké škály zdrojů. Pomocí grafického rozhraní můžete nastavit kanál pro integraci a využívání artefaktů z různých služeb. Kromě toho můžete propojit více artefaktů z různých zdrojů a určit jeden jako primární zdroj na základě vašich potřeb.
Zdroje artefaktů
Azure Pipelines podporuje širokou škálu úložišť, služeb a platforem CI/CD. 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.
Pokud propočítáte více artefaktů, můžete určit, který z nich je primárním zdrojem (výchozí). Primární zdroj artefaktů slouží k nastavení několika předdefinovaných proměnných a dá se také použít pro pojmenování verzí.
Možnosti rozevíracího seznamu Výchozí verze závisí na typu zdroje definice propojeného sestavení. Možnosti Specify at the time of release creation
a Specific version
Latest
jsou podporovány všemi typy úložišť. Latest from the build pipeline default branch with tags
Definice sestavení XAML ale nepodporují.
Následující části popisují, jak pracovat s různými typy zdrojů artefaktů:
Poznámka:
Pokud používáte více zdrojů artefaktů, mapování zdroje artefaktů na aktivaci konkrétní fáze se nepodporuje. Pokud tuto funkci potřebujete, Azure Pipelines doporučuje rozdělit kanál verze na několik verzí.
Azure Pipelines
Kanál verze Classic můžete propojit s jakýmkoli artefaktem kanálu. Kromě toho můžete propojit několik artefaktů a nastavit triggery nasazení na více zdrojích sestavení. Toto nastavení vytvoří vydání pokaždé, když bude k dispozici nový build. 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 (včetně sestavení XAML). Další podrobnosti najdete v tématu Triggery klasické verze. |
Proměnné artefaktů | Pro artefakty odkazované v klasické verzi se podporuje řada proměnných artefaktů . |
Pracovní položky a potvrzení | Propojte pracovní položky a zobrazte je v podrobnostech o verzi. Potvrzení se zobrazí při použití Gitu nebo TFVC. |
Stažení artefaktů | Ve výchozím nastavení se artefakty kanálu stáhnou do agenta, na kterém kanál běží. V případě potřeby můžete také nakonfigurovat krok ve vaší fázi tak, aby se stahování artefaktu přeskočí . |
Fáze nasazení | Souhrn kanálu obsahuje seznam všech fází nasazení, ve kterých byl artefakt nasazen. |
Poznámka:
Pokud chcete publikovat artefakt kanálu v klasickém kanálu, musíte do kanálu přidat úlohu PublishPipelineArtifact . V kanálech YAML se implicitně publikuje artefakt pro odstranění .
Omezení rozsahu autorizace úlohy
Ve výchozím nastavení se vydané verze spouští s oborem autorizace úloh na úrovni organizace a umožňují jim přístup k prostředkům ve všech projektech v organizaci. To je užitečné při propojování artefaktů kanálu z jiných projektů. Pokud chcete omezit přístup k artefaktům projektu, můžete v nastavení projektu povolit omezení rozsahu autorizace úloh na aktuální projekt pro kanály verze.
Nastavení rozsahu autorizace úlohy pro organizaci:
Přihlaste se ke své organizaci Azure DevOps.
V levém dolním rohu vyberte nastavení organizace.
Vyberte Kanály> *Nastavení.
Zapněte přepínač Omezit rozsah autorizace úlohy na aktuální projekt pro kanály verze, abyste omezili obor na aktuální projekt. Doporučuje se zvýšit zabezpečení.
Nastavení oboru autorizace úlohy pro konkrétní projekt:
Přihlaste se ke své organizaci Azure DevOps a přejděte k projektu.
V levém dolním rohu vyberte nastavení projektu.
Vyberte Kanály> *Nastavení.
Zapněte přepínač Omezit rozsah autorizace úlohy na aktuální projekt pro kanály verze, abyste omezili obor na aktuální projekt. Toto nastavení se doporučuje pro zvýšení zabezpečení kanálů.
Poznámka:
Pokud je obor nastavený na úrovni organizace, nedá se v každém projektu změnit jednotlivě.
Poznámka:
Ve výchozím nastavení se vydané verze spouštějí s oborem autorizace úloh na úrovni kolekce a umožňují jim přístup k prostředkům ve všech projektech v kolekci.
Azure Repos, GitHub a TFVC
Existují scénáře, ve kterých můžete chtít využívat artefakty přímo z různých zdrojových ovládacích prvků, aniž byste je museli předávat kanálem buildu. Příklad:
Vývoj php nebo javascriptové aplikace, která nevyžaduje explicitní kanál buildu
Správa konfigurací pro různé fáze v různých úložištích správy verzí a využití těchto konfiguračních souborů přímo v rámci kanálu nasazení.
Správa infrastruktury a konfigurace jako kódu v úložišti správy verzí
Pomocí Azure Pipelines můžete nakonfigurovat více zdrojů artefaktů v jednom kanálu verze. To umožňuje propojit kanál buildu, který vytváří binární soubory aplikací a úložiště správy verzí, které ukládá konfigurační soubory pomocí obou sad artefaktů během nasazování.
Azure Pipelines podporuje úložiště Azure Repos, Správa verzí Team Foundation (TFVC) a GitHub. Kanál verze můžete propojit s jakýmkoli úložištěm Git nebo TFVC v rámci kolekce projektů za předpokladu, že máte přístup ke čtení. Při nasazování artefaktů správy verzí v rámci stejné kolekce se nevyžaduje žádná další instalace.
Při propojování úložiště GitHub a výběru větve můžete po uložení artefaktu upravit výchozí vlastnosti typů artefaktů. To je užitečné, pokud se stabilní větev verze změní, čímž zajistíte, že vydané verze průběžného doručování používají správnou větev pro novější verze artefaktů. Můžete také zadat podrobnosti o pokladně, jako jsou dílčímoduly, zahrnutí sledovaných souborů Git-LFS a hloubky načtení mělkých dat.
Při propojování větve TFVC můžete určit sadu změn, která se má nasadit během vytváření vydané verze.
Při použití Azure Repos, Gitu a TFVC 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 (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze. |
Proměnné artefaktů | Pro artefakty odkazované v klasické verzi se podporuje řada proměnných artefaktů . |
Pracovní položky a potvrzení | Propojte pracovní položky a zobrazte je v podrobnostech o verzi. Potvrzení se zobrazí při použití Gitu nebo TFVC. |
Stažení artefaktů | Ve výchozím nastavení se artefakty kanálu stáhnou do agenta, na kterém kanál běží. V případě potřeby můžete také nakonfigurovat krok ve vaší fázi tak, aby se stahování artefaktu přeskočí . |
Poznámka:
Ve výchozím nastavení se verze spouštějí s oborem autorizace úloh na úrovni organizace a umožňují jim přístup k prostředkům ve všech projektech v organizaci. To je užitečné při propojování artefaktů kanálu z jiných projektů. Pokud chcete omezit přístup k artefaktům projektu, povolte v nastavení projektu obor omezení autorizace úlohy na aktuální projekt pro kanály verze.
Poznámka:
Ve výchozím nastavení se verze spouštějí s oborem autorizace úloh na úrovni kolekce a umožňují jim přístup k prostředkům ve všech projektech v kolekci. To je užitečné při propojování artefaktů kanálu z jiných projektů. Pokud chcete omezit přístup k artefaktům projektu, povolte v nastavení projektu obor omezení autorizace úlohy na aktuální projekt pro kanály verze.
Azure Artifacts
Níže jsou uvedené některé scénáře, ve kterých můžete jako zdroj artefaktů použít Azure Artifacts:
Binární soubor vaší aplikace se publikuje do Azure Artifacts a chcete balíček využívat v kanálu verze.
V rámci pracovního postupu nasazení potřebujete další balíčky uložené v Azure Artifacts.
Při použití Azure Artifacts v kanálu verze musíte vybrat informační kanál, balíček a výchozí verzi balíčku. Můžete zvolit vyzvednutí nejnovější verze balíčku, použití konkrétní verze nebo zadání v době vytvoření verze. Během nasazování se balíček stáhne 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 (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze. |
Proměnné artefaktů | Pro artefakty odkazované v klasické verzi se podporuje řada proměnných artefaktů . |
Pracovní položky a potvrzení | Propojte pracovní položky a zobrazte je v podrobnostech o verzi. Potvrzení se zobrazí při použití Gitu nebo TFVC. |
Stažení artefaktů | Ve výchozím nastavení se artefakty kanálu stáhnou do agenta, na kterém kanál běží. V případě potřeby můžete také nakonfigurovat krok ve vaší fázi tak, aby se stahování artefaktu přeskočí . |
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 odebrat staré verze a před nasazením zachovat pouze nejnovější artefakt.
Spuštěním následujícího příkazu na příkazovém řádku PowerShellu odeberte všechny kopie s výjimkou 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 tohoto limitu, Azure Artifacts automaticky odstraní starší snímky, aby zachovaly pouze nejnovější 25.
Úložiště kontejnerů Azure a Docker Hub
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. Abyste to mohli udělat, musíte nejprve vytvořit připojení služby pro ověření pomocí Azure nebo Docker Hubu. Další podrobnosti najdete v tématu Připojení ke službě Docker Registry.
Při použití úložiště kontejnerů Azure nebo Docker Hubu 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 (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze. |
Proměnné artefaktů | Pro artefakty odkazované v klasické verzi se podporuje řada proměnných artefaktů . |
Pracovní položky a potvrzení | Propojte pracovní položky a zobrazte je v podrobnostech o verzi. Potvrzení se zobrazí při použití Gitu nebo TFVC. |
Stažení artefaktů | Ve výchozím nastavení se artefakty kanálu stáhnou do agenta, na kterém kanál běží. V případě potřeby můžete také nakonfigurovat krok ve vaší fázi tak, aby se stahování artefaktu přeskočí . |
Jenkins
Pokud chcete využívat artefakty Jenkinse, musíte vytvořit připojení služby pro ověření pomocí serveru Jenkinse. Další podrobnosti najdete v tématu Připojení ke službě Jenkins. Kromě toho musí být projekt Jenkins nakonfigurovaný pomocí akce po sestavení pro publikování artefaktů.
Artefakty generované sestaveními Jenkinse se obvykle šíří do úložišť úložiště pro archivaci a sdílení. Azure Blob Storage je jedno z takových úložišť, které umožňuje používat projekty Jenkinse, které publikují do Azure Storage jako zdroje artefaktů v kanálu verze. Azure Pipelines automaticky stáhne tyto 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 a agenty hostované Microsoftem je možné použít bez vystavení serveru Jenkinse na internetu.
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 (včetně sestavení XAML). Další podrobnosti najdete v tématu Aktivační události vydané verze. |
Proměnné artefaktů | Pro artefakty odkazované v klasické verzi se podporuje řada proměnných artefaktů . |
Pracovní položky a potvrzení | Propojte pracovní položky a zobrazte je v podrobnostech o verzi. Potvrzení se zobrazí při použití Gitu nebo TFVC. |
Stažení artefaktů | Ve výchozím nastavení se artefakty kanálu stáhnou do agenta, na kterém kanál běží. V případě potřeby můžete také nakonfigurovat krok ve vaší fázi tak, aby se stahování artefaktu přeskočí . |
Poznámka:
Azure Pipelines možná nebude moct otestovat příkaz ping na váš server Jenkinse, pokud je v privátní podnikové síti. V takových případech můžete azure Pipelines integrovat s Jenkinsem nastavením místního agenta, který má přístup k serveru Jenkins. I když se při propojení s kanálem nemusí zobrazovat názvy projektů Jenkinse, můžete název projektu zadat do textového pole adresy URL ručně.
Alias zdroje artefaktů
Aby se zajistilo jedinečnost stahování jednotlivých artefaktů, přiřadí se každému zdroji artefaktu propojenému s kanálem verze automaticky určité umístění pro stahování označované jako zdrojový alias. K tomuto umístění lze 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 úpravy vlastností úlohy, protože umístění pro stahování definované v agentu zůstává beze změny.
Ve výchozím nastavení je zdrojový alias názvem zdroje artefaktu s předponou podtržítka (např. _mslearn-tailspin-spacegame-web). Zdrojový alias může odpovídat názvu kanálu buildu, názvu úlohy, názvu projektu nebo názvu úložiště v závislosti na typu zdroje artefaktů. Zdrojový alias můžete upravit na kartě Artefakty na kartě Kanál verze. To je karta 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 nim mohly přistupovat úlohy v rámci této fáze. Po dokončení vydání se tyto stažené artefakty neodstraní. Při zahájení nové verze se však předchozí artefakty odstraní a nahradí novými artefakty.
Při spuštění verze se v agentu vytvoří jedinečná složka pro každý kanál verze a artefakty se stáhnou do této složky:$(System.DefaultWorkingDirectory)
.
Azure Pipelines neprovádí žádnou optimalizaci, aby se zabránilo opětovnému stahování nezměněných artefaktů, pokud je stejná verze znovu nasazená. Vzhledem k tomu, že se při spuštění nové verze odstraní dříve stažený obsah, azure Pipelines nemůže do agenta provádět přírůstkové stahování.
Pokud chcete přeskočit automatické stahování artefaktů, přejděte ke stažení artefaktu agenta Úlohy agenta>úloh>kanálu verze>a zrušte zaškrtnutí všech artefaktů nebo určete konkrétní artefakty, které se mají přeskočit.
Pokud chcete přeskočit automatické stahování artefaktů, přejděte k úloze>agenta Úlohy úloh>verze>Další možnosti a zaškrtněte políčko Přeskočit stahování artefaktů.