Kurz: Kontinuální integrace šablon ARM se službou Azure Pipelines

V předchozím kurzu nasadíte propojenou šablonu. V tomto kurzu se naučíte používat Azure Pipelines k průběžnému sestavování a nasazování projektů šablony Azure Resource Manageru (šablony ARM).

Azure DevOps poskytuje vývojářské služby týmům podpory pro plánování práce, spolupráci při vývoji kódu a vytváření a nasazování aplikací. Vývojáři můžou pracovat v cloudu pomocí Azure DevOps Services. Azure DevOps poskytuje integrovanou sadu funkcí, ke kterým máte přístup prostřednictvím webového prohlížeče nebo klienta IDE. Azure Pipelines je jednou z těchto funkcí. Azure Pipelines je plně doporučená služba kontinuální integrace (CI) a průběžného doručování (CD). Funguje s vaším upřednostňovaným poskytovatelem Gitu a může se nasadit do většiny hlavních cloudových služeb. Pak můžete automatizovat sestavení, testování a nasazení kódu do Microsoft Azure, Google Cloud Platform nebo Amazon Web Services.

Poznámka:

Vyberte název projektu. Když projdete kurzem, nahraďte libovolný z ARMPipelineProj názvem projektu. Tento název projektu slouží ke generování názvů zdrojů. Jedním z prostředků je účet úložiště. Název účtu úložiště musí mít délku 3 až 24 znaků a musí obsahovat jenom čísla a malá písmena. Název musí být jedinečný. V šabloně je název účtu úložiště název projektu s připojeným úložištěm a název projektu musí být 3 až 11 znaků. Název projektu proto musí splňovat požadavky na název účtu úložiště a musí mít méně než 11 znaků.

Tento kurz se zabývá následujícími úkony:

  • Příprava úložiště GitHub
  • Vytvoření projektu Azure DevOps
  • Vytvoření kanálu Azure
  • Ověření nasazení kanálu
  • Aktualizace šablony a opětovné nasazení
  • Vyčištění prostředků

Pokud ještě nemáte předplatné Azure, vytvořte si napřed bezplatný účet.

Požadavky

K dokončení tohoto článku potřebujete:

Příprava úložiště GitHub

GitHub slouží k ukládání zdrojového kódu projektu včetně šablon Resource Manageru. Další podporovaná úložiště najdete v tématu úložiště podporovaná Azure DevOps.

Vytvoření úložiště GitHub

Pokud nemáte účet GitHubu, přečtěte si téma Požadavky.

  1. Přihlaste se na GitHub.

  2. Vyberte obrázek účtu v pravém horním rohu a pak vyberte Vaše úložiště.

    Screenshot of creating a GitHub repository for Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Vyberte Nový, zelené tlačítko.

  4. Do pole Název úložiště zadejte název úložiště. Například ARMPipeline-repo. Nezapomeňte nahradit libovolný z ARMPipeline názvem projektu. Pro procházení tohoto kurzu můžete vybrat buď veřejné , nebo soukromé . A pak vyberte Vytvořit úložiště.

  5. Poznamenejte si adresu URL. Adresa URL úložiště je následující formát - https://github.com/[YourAccountName]/[YourRepositoryName].

Toto úložiště se označuje jako vzdálené úložiště. Každý vývojář stejného projektu může naklonovat vlastní místní úložiště a sloučit změny do vzdáleného úložiště.

Klonování vzdáleného úložiště

  1. Otevřete Git Shell nebo Git Bash. Viz Požadavky.

  2. Ověřte, že aktuální složka je GitHub.

  3. Spusťte následující příkaz:

    git clone https://github.com/[YourAccountName]/[YourGitHubRepositoryName]
    cd [YourGitHubRepositoryName]
    mkdir create_web_app
    cd create_web_app
    pwd
    

    Nahraďte [YourAccountName] názvem účtu GitHub a nahraďte [YourGitHubRepositoryName] názvem úložiště, který jste vytvořili v předchozím postupu.

Složka create_web_app je složka, ve které je šablona uložená. Příkaz pwd zobrazí cestu ke složce. Cesta je místo, kam šablonu uložíte v následujícím postupu.

Stažení šablony rychlého startu

Místo vytváření šablon si můžete stáhnout šablony a uložit je do složky create_web_app .

Název složky i názvy souborů se používají tak, jak jsou v kanálu. Pokud tyto názvy změníte, musíte aktualizovat názvy použité v kanálu.

Nasdílení šablony do vzdáleného úložiště

Soubor azuredeploy.json byl přidán do místního úložiště. Pak šablonu nahrajete do vzdáleného úložiště.

  1. Otevřete Git Shell nebo Git Bash, pokud se neotevře.

  2. Změňte adresář na složku create_web_app v místním úložišti.

  3. Ověřte, že je soubor azuredeploy.json ve složce.

  4. Spusťte následující příkaz:

    git add .
    git commit -m "Add web app templates."
    git push origin main
    

    Může se zobrazit upozornění na LF. Upozornění můžete ignorovat. main je hlavní větev. Pro každou aktualizaci obvykle vytvoříte větev. Pro zjednodušení kurzu použijete přímo hlavní větev.

  5. V prohlížeči přejděte do úložiště GitHub. Adresa URL je https://github.com/[YourAccountName]/[YourGitHubRepository]. Uvidíte složku create_web_app a dva soubory uvnitř složky.

  6. Výběrem souboru azuredeploy.json otevřete šablonu.

  7. Vyberte tlačítko Nezpracované. Adresa URL začíná písmenem https://raw.githubusercontent.com.

  8. Zkopírujte adresu URL. Tuto hodnotu musíte zadat při konfiguraci kanálu později v tomto kurzu.

Zatím jste vytvořili úložiště GitHub a nahráli jste šablony do úložiště.

Vytvoření projektu DevOps

Než budete moct přejít k dalšímu postupu, je potřeba organizace DevOps. Pokud ho nemáte, přečtěte si téma Požadavky.

  1. Přihlaste se ke službě Azure DevOps.

  2. Vyberte organizaci DevOps vlevo a pak vyberte Nový projekt. Pokud nemáte žádné projekty, otevře se stránka vytvořit projekt automaticky.

  3. Zadejte následující hodnoty:

    Screenshot of creating an Azure DevOps project for Azure Resource Manager Azure DevOps Azure Pipelines.

    • Název projektu: Zadejte název projektu. Název projektu, který jste vybrali na začátku kurzu, můžete použít.
    • Viditelnost: Vyberte soukromé.

    Pro ostatní vlastnosti použijte výchozí hodnotu.

  4. Vyberte Vytvořit.

Vytvořte připojení služby, které se používá k nasazení projektů do Azure.

  1. V dolní části levé nabídky vyberte nastavení projektu.

  2. V části Pipelines (Kanály) vyberte připojení služby.

  3. Vyberte Vytvořit připojení služby, vyberte Azure Resource Manager a pak vyberte Další.

  4. Vyberte Instanční objekt (automatický) a pak vyberte Další.

  5. Zadejte následující hodnoty:

    • Úroveň oboru: vyberte Předplatné.
    • Předplatné: Vyberte předplatné.
    • Skupina prostředků: Ponechte ji prázdnou.
    • název Připojení: zadejte název připojení. Například ARMPipeline-conn. Tento název si poznamenejte a při vytváření kanálu potřebujete název.
    • Udělte oprávnění k přístupu všem kanálům. (vybráno)
  6. Zvolte Uložit.

Vytvořit kanál

Doteď jste dokončili následující úkoly. Pokud předchozí části přeskočíte, protože znáte GitHub a DevOps, musíte před pokračováním dokončit úkoly.

  • Vytvořte úložiště GitHub a uložte šablony do složky create_web_app v úložišti.
  • Vytvořte projekt DevOps a vytvořte připojení služby Azure Resource Manager.

Vytvoření kanálu s krokem pro nasazení šablony:

  1. V nabídce vlevo vyberte Kanály .

  2. Vyberte Vytvořit kanál.

  3. Na kartě Connect (Připojit) vyberte GitHub. Pokud se zobrazí dotaz, zadejte svoje přihlašovací údaje GitHubu a postupujte podle pokynů. Pokud se zobrazí následující obrazovka, vyberte Pouze vybrat úložiště a před výběrem možnosti Schválit a nainstalovat ověřte, že je vaše úložiště v seznamu.

    Screenshot of selecting repositories for Azure Resource Manager Azure DevOps Azure Pipelines.

  4. Na kartě Vybrat vyberte úložiště. Výchozí název je [YourAccountName]/[YourGitHubRepositoryName].

  5. Na kartě Konfigurace vyberte Počáteční kanál. Zobrazuje soubor kanálu azure-pipelines.yml se dvěma kroky skriptu.

  6. Odstraňte dva kroky skriptu ze souboru .yml .

  7. Přesuňte kurzor na řádek za kroky:.

  8. Výběrem možnosti Zobrazit asistenta na pravé straně obrazovky otevřete podokno Úkoly .

  9. Vyberte nasazení šablony ARM.

  10. Zadejte následující hodnoty:

    • deploymentScope: Vyberte skupinu prostředků. Další informace o oborech najdete v tématu Rozsahy nasazení.
    • Připojení Azure Resource Manageru: Vyberte název připojení služby, který jste vytvořili dříve.
    • Předplatné: Zadejte ID cílového předplatného.
    • Akce: Vyberte akci Vytvořit nebo aktualizovat skupinu prostředků provede 2 akce – 1. vytvořit skupinu prostředků, pokud je k dispozici nový název skupiny prostředků; 2. nasaďte zadanou šablonu.
    • Skupina prostředků: Zadejte nový název skupiny prostředků. Například ARMPipeline-rg.
    • Umístění: Vyberte umístění pro skupinu prostředků, například USA – střed.
    • Umístění šablony: Vyberte adresu URL souboru, což znamená, že úloha hledá soubor šablony pomocí adresy URL. Vzhledem k tomu, že se v hlavní šabloně používá relativePath a relativníPath se podporuje jenom v nasazeních založených na identifikátorech URI, musíte zde použít adresu URL.
    • Odkaz na šablonu: Zadejte adresu URL, kterou jste získali na konci oddílu Příprava úložiště GitHub. Začíná https://raw.githubusercontent.comna .
    • Odkaz na parametry šablony: Ponechte toto pole prázdné. Hodnoty parametrů zadáte v parametrech šablony Přepsání.
    • Přepsat parametry šablony: Enter -projectName [EnterAProjectName].
    • Režim nasazení: Vyberte přírůstkové.
    • Název nasazení: Zadejte DeployPipelineTemplate. Před zobrazením názvu nasazení vyberte Upřesnit.

    Screenshot of the ARM template deployment page with required values entered for Azure DevOps Azure Pipelines.

  11. Vyberte Přidat.

    Další informace o úloze najdete v tématu Úloha nasazení skupiny prostředků Azure a úloha nasazení šablony Azure Resource Manageru.

    Soubor .yml se podobá:

    Screenshot of the Review page with the new pipeline titled Review your pipeline YAML for Azure DevOps Azure Pipelines.

  12. Zvolte Uložit a Spustit.

  13. V podokně Uložit a spustit vyberte Uložit a spusťte znovu. Kopie souboru YAML se uloží do připojeného úložiště. Soubor YAML můžete zobrazit tak, že přejdete do úložiště.

  14. Ověřte, že se kanál úspěšně spustil.

    Screenshot of Azure Resource Manager Azure DevOps Azure Pipelines YAML file.

Ověření nasazení

  1. Přihlaste se k portálu Azure.
  2. Otevřete skupinu prostředků. Název je to, co jste zadali v souboru YAML kanálu. Zobrazí se jeden vytvořený účet úložiště. Název účtu úložiště začíná úložištěm.
  3. Výběrem názvu účtu úložiště ho otevřete.
  4. Vyberte Vlastnosti. Všimněte si, že replikace je místně redundantní úložiště (LRS).

Aktualizace a opětovné nasazení

Když šablonu aktualizujete a odešlete změny do vzdáleného úložiště, kanál v tomto případě automaticky aktualizuje prostředky, účet úložiště.

  1. Otevřete soubor linkedStorageAccount.json z místního úložiště v editoru Visual Studio Code nebo v libovolném textovém editoru.

  2. Aktualizujte výchozí hodnotustorageAccountType na Standard_GRS. Viz následující snímek obrazovky:

    Screenshot of updating the YAML file for Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Uložte změny.

  4. Nasdílení změn do vzdáleného úložiště spuštěním následujících příkazů z Git Bash/Shellu

    git pull origin main
    git add .
    git commit -m "Update the storage account type."
    git push origin main
    

    První příkaz (pull) synchronizuje místní úložiště se vzdáleným úložištěm. Soubor YAML kanálu byl přidán pouze do vzdáleného úložiště. Spuštěním pull příkazu stáhnete kopii souboru YAML do místní větve.

    Čtvrtý příkaz (push) nahraje upravený soubor linkedStorageAccount.json do vzdáleného úložiště. Když je hlavní větev vzdáleného úložiště aktualizovaná, kanál se znovu aktivuje.

Pokud chcete ověřit změny, můžete zkontrolovat vlastnost Replikace účtu úložiště. Viz Ověření nasazení.

Vyčištění prostředků

Pokud už nasazené prostředky Azure nepotřebujete, vyčistěte je odstraněním skupiny prostředků.

  1. Na portálu Azure Portal vyberte v nabídce nalevo Skupina prostředků.
  2. Do pole Filtrovat podle názvu zadejte název skupiny prostředků.
  3. Vyberte název skupiny prostředků.
  4. V nabídce nahoře vyberte Odstranit skupinu prostředků.

Můžete také chtít odstranit úložiště GitHub a projekt Azure DevOps.

Další kroky

Blahopřejeme, dokončili jste tento kurz nasazení šablon Resource Manageru. Dejte nám vědět, pokud máte nějaké komentáře a návrhy v části váš názor. Děkujeme! Jste připraveni přejít na pokročilejší koncepty šablon. Další kurz obsahuje podrobnější informace o použití referenční dokumentace k šabloně, která vám pomůže s definováním prostředků k nasazení.