Dela via


Självstudie: Kontinuerlig integrering av ARM-mallar med Azure Pipelines

I den föregående självstudien använde du en länkad mall. I den här självstudien får du lära dig hur du använder Azure Pipelines för att kontinuerligt skapa och distribuera AZURE Resource Manager-mallprojekt (ARM-mall).

Azure DevOps tillhandahåller utvecklingstjänster till supportteam som låter dessa planera arbete, samarbeta med kodutveckling, samt skapa och distribuera program. Utvecklare kan arbeta i molnet med hjälp av Azure DevOps Services. Azure DevOps innehåller en integrerad uppsättning funktioner som du kan komma åt via webbläsaren eller IDE-klienten. Azure Pipelines är en av dessa funktioner. Azure Pipelines är en fullfjädrad tjänst för kontinuerlig integration (CI) och kontinuerlig leverans (CD). Den fungerar med din önskade Git-provider och kan distribueras till de flesta större molntjänster. Sedan kan du automatisera bygget, testningen och distributionen av din kod till Microsoft Azure, Google Cloud Platform eller Amazon Web Services.

Anmärkning

Välj ett projektnamn. När du går igenom självstudien ersätter du alla förekomster av ARMPipelineProj med ditt projektnamn. Det här projektnamnet används för att generera resursnamn. En av resurserna är ett lagringskonto. Lagringskontonamn måste vara mellan 3 och 24 tecken långa och endast använda siffror och gemener. Namnet måste vara unikt. I mallen är lagringskontonamnet projektnamnet med store tillagt och projektnamnet måste vara mellan 3 och 11 tecken. Projektnamnet måste därför uppfylla kraven för lagringskontots namn och innehålla mindre än 11 tecken.

Den här handledningen omfattar följande moment:

  • Förbereda en GitHub-lagringsplats
  • Skapa ett Azure DevOps-projekt
  • Skapa en Azure-pipeline
  • Verifiera pipeline-utplaceringen
  • Uppdatera mallen och distribuera om
  • Rensa resurser

Om du inte har någon Azure-prenumeration skapar du ett kostnadsfritt konto innan du börjar.

Förutsättningar

För att slutföra den här artikeln behöver du:

Förbereda en GitHub-lagringsplats

GitHub används för att lagra projektets källkod, inklusive Resource Manager-mallar. Andra lagringsplatser som stöds finns i lagringsplatser som stöds av Azure DevOps.

Skapa en GitHub-lagringsplats

Om du inte har något GitHub-konto kan du läsa Krav.

  1. Logga in på GitHub.

  2. Välj din kontobild i det övre högra hörnet och välj sedan Dina lagringsplatser.

    Skärmbild av hur du skapar en GitHub-lagringsplats för Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Välj Ny, en grön knapp.

  4. I Namnet på lagringsplatsen anger du ett lagringsplatsnamn. Till exempel ARMPipeline-repo. Kom ihåg att ersätta någon av ARMPipeline med projektnamnet. Du kan välja antingen Offentlig eller privat för att gå igenom den här självstudien. Välj sedan Skapa lagringsplats.

  5. Skriv ned URL:en. Lagringsplatsens URL är följande format – https://github.com/[YourAccountName]/[YourRepositoryName].

Den här lagringsplatsen kallas för en fjärrlagringsplats. Var och en av utvecklarna av samma projekt kan klona sin egen lokala lagringsplats och sammanfoga ändringarna till fjärrlagringsplatsen.

Klona fjärrlagringsplatsen

  1. Öppna Git Shell eller Git Bash. Se Förutsättningar.

  2. Kontrollera att din aktuella mapp är GitHub.

  3. Kör följande kommando:

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

    Ersätt [YourAccountName] med ditt GitHub-kontonamn och ersätt [YourGitHubRepositoryName] med lagringsplatsens namn som du skapade i föregående procedur.

Mappen create_web_app är mappen där mallen lagras. Kommandot pwd visar mappsökvägen. Sökvägen är stället där du sparar mallen enligt följande procedur.

Ladda ned en snabbstartsmall

I stället för att skapa mallarna kan du ladda ned mallarna och spara dem i mappen create_web_app .

Både mappnamnet och filnamnen används som de är i pipelinen. Om du ändrar dessa namn måste du uppdatera namnen som används i pipelinen.

Skicka mallen till fjärrlagringsplatsen

azuredeploy.jsonhar lagts till på den lokala lagringsplatsen. Sedan laddar du upp mallen till fjärrlagringsplatsen.

  1. Öppna Git Shell eller Git Bash om det inte är öppet.

  2. Ändra katalogen till mappen create_web_app i den lokala lagringsplatsen.

  3. Kontrollera attazuredeploy.json filen finns i mappen.

  4. Kör följande kommando:

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

    Du kanske får en varning om LF. Du kan ignorera varningen. main är huvudgrenen. Du skapar vanligtvis en gren för varje uppdatering. För att förenkla handledningen använder du huvudgrenen direkt.

  5. Bläddra till din GitHub-lagringsplats från en webbläsare. URL:en är https://github.com/[YourAccountName]/[YourGitHubRepository]. Du kommer att se mappen create_web_app och de två filerna i mappen.

  6. Välj azuredeploy.json för att öppna mallen.

  7. Välj knappen Ofiltrerad. URL:en börjar med https://raw.githubusercontent.com.

  8. Gör en kopia av URL:en. Du måste ange det här värdet när du konfigurerar pipelinen senare i självstudien.

Hittills har du skapat en GitHub-lagringsplats och laddat upp mallarna till lagringsplatsen.

Skapa ett DevOps-projekt

En DevOps-organisation behövs innan du kan gå vidare till nästa procedur. Om du inte har någon, se Förutsättningar.

  1. Logga in på Azure DevOps.

  2. Välj en DevOps-organisation till vänster och välj sedan Nytt projekt. Om du inte har några projekt öppnas sidan Skapa projekt automatiskt.

  3. Ange följande värden:

    Skärmbild av hur du skapar ett Azure DevOps-projekt för Azure Resource Manager Azure DevOps Azure Pipelines.

    • Projektnamn: Ange ett projektnamn. Du kan använda projektnamnet som du valde i början av självstudien.
    • Synlighet: Välj Privat.

    Använd standardvärdet för de andra egenskaperna.

  4. Välj Skapa.

Skapa en tjänstanslutning som används för att distribuera projekt till Azure.

  1. Välj Projektinställningar längst ned på den vänstra menyn.

  2. Välj Tjänstanslutningar under Pipelines.

  3. Välj Skapa tjänstanslutning, välj Azure Resource Manager och välj sedan Nästa.

  4. Välj Tjänstens huvudnamn (automatiskt) och välj sedan Nästa.

  5. Ange följande värden:

    • Omfångsnivå: välj Prenumeration.
    • Prenumeration: välj din prenumeration.
    • Resursgrupp: Lämna den tom.
    • Anslutningsnamn: ange ett anslutningsnamn. Till exempel ARMPipeline-conn. Skriv ned det här namnet. Du behöver namnet när du skapar din pipeline.
    • Bevilja åtkomstbehörighet till alla pipelines. (valt)
  6. Välj Spara.

Skapa en processkedja

Hittills har du slutfört följande uppgifter. Om du hoppar över föregående avsnitt eftersom du är bekant med GitHub och DevOps måste du slutföra uppgifterna innan du fortsätter.

  • Skapa en GitHub-lagringsplats och spara mallarna i mappen create_web_app på lagringsplatsen.
  • Skapa ett DevOps-projekt och skapa en Azure Resource Manager-tjänstanslutning.

Så här skapar du en pipeline med ett steg för att distribuera en mall:

  1. Välj Pipelines på den vänstra menyn.

  2. Välj Skapa pipeline.

  3. På fliken Anslut väljer du GitHub. Om du tillfrågas anger du dina GitHub-autentiseringsuppgifter och följer sedan anvisningarna. Om du ser följande skärm väljer du Välj Endast lagringsplatser och kontrollerar att lagringsplatsen finns i listan innan du väljer Godkänn och installera.

    Skärmbild av att välja lagringsplatser för Azure Resource Manager Azure DevOps Azure Pipelines.

  4. Välj din lagringsplats på fliken Välj . Standardnamnet är [YourAccountName]/[YourGitHubRepositoryName].

  5. På fliken Konfigurera väljer du Startpipeline. Den visar azure-pipelines.yml pipelinefil med två skriptsteg.

  6. Ta bort de två skriptstegen från filen .yml .

  7. Flytta markören till raden efter steg:.

  8. Välj Visa assistent till höger på skärmen för att öppna fönstret Uppgifter .

  9. Välj ARM-malldistribution.

  10. Ange följande värden:

    • deploymentScope: Välj Resursgrupp. Mer information om omfången finns i Distributionsomfång.
    • Azure Resource Manager-anslutning: Välj det tjänstanslutningsnamn som du skapade tidigare.
    • Prenumeration: Ange målprenumerations-ID.
    • Åtgärd: Välj åtgärden Skapa eller uppdatera resursgrupp utför två åtgärder – 1. skapa en resursgrupp om ett nytt resursgruppsnamn anges. 2. Inför den angivna mallen.
    • Resursgrupp: Ange ett nytt resursgruppsnamn. Till exempel ARMPipeline-rg.
    • Plats: Välj en plats för resursgruppen, till exempel USA, centrala.
    • Mallplats: Välj URL för filen, vilket innebär att uppgiften söker efter mallfilen med hjälp av URL:en. Eftersom relativePath används i huvudmallen och relativePath endast stöds för URI-baserade distributioner måste du använda URL:en här.
    • Malllänk: Ange den URL som du fick i slutet av avsnittet Förbered en GitHub-lagringsplats . Det börjar med https://raw.githubusercontent.com.
    • Länk till mallparametrar: Lämna det här fältet tomt. Du anger parametervärdena i Åsidosättningsparametrarna för mall.
    • Åsidosätt mallparametrar: Ange -projectName [EnterAProjectName].
    • Distributionsläge: Välj Inkrementell.
    • Distributionsnamn: Ange DeployPipelineTemplate. Välj Avancerat innan du kan se distributionsnamnet.

    Skärmbild av distributionssidan för ARM-mallen med nödvändiga värden angivna för Azure DevOps Azure Pipelines.

  11. Välj Lägg till.

    Mer information om uppgiften finns i Distributionsaktivitet för Azure-resursgrupp och Distributionsuppgift för Azure Resource Manager-mallar

    Den .yml filen ska likna följande:

    Skärmbild av sidan Granska med den nya pipelinen med titeln Granska din pipeline YAML för Azure DevOps Azure Pipelines.

  12. Välj Spara och kör.

  13. I fönstret Spara och kör väljer du Spara och kör igen. En kopia av YAML-filen sparas i den anslutna lagringsplatsen. Du kan se YAML-filen genom att bläddra till lagringsplatsen.

  14. Kontrollera att pipelinen har körts framgångsrikt.

    Skärmbild av YAML-filen för Azure Resource Manager, Azure DevOps, och Azure Pipelines.

Verifiera driftsättningen

  1. Logga in på Azure-portalen.
  2. Öppna resursgruppen. Namnet är det du angav i YAML-pipelinefilen. Du kommer att se ett lagringskonto som skapats. Lagringskontonamnet börjar med store.
  3. Välj namnet på lagringskontot för att öppna det.
  4. Välj Egenskaper. Observera att replikeringen använder lokalt redundant lagring (LRS).

Uppdatera och distribuera om

När du uppdaterar mallen och push-överför ändringarna till fjärrlagringsplatsen uppdaterar pipelinen automatiskt resurserna, lagringskontot i det här fallet.

  1. Öppna linkedStorageAccount.json från din lokala lagringsplats i Visual Studio Code eller någon textredigerare.

  2. Uppdatera defaultValue för storageAccountType till Standard_GRS. Se följande skärmbild:

    Skärmbild av uppdatering av YAML-filen för Azure Resource Manager Azure DevOps Azure Pipelines.

  3. Spara ändringarna.

  4. Skicka ändringarna till fjärrlagringsplatsen genom att köra följande kommandon från Git Bash/Shell.

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

    Det första kommandot (pull) synkroniserar den lokala lagringsplatsen med fjärrlagringsplatsen. YAML-pipelinefilen lades bara till på fjärrlagringsplatsen. pull När kommandot körs laddas en kopia av YAML-filen ned till den lokala grenen.

    Det fjärde kommandot (push) laddar upp den ändrade linkedStorageAccount.json-filen till fjärrlagringsplatsen. När huvudgrenen för fjärrlagringsplatsen har uppdaterats utlöses pipelinen igen.

Om du vill verifiera ändringarna kan du kontrollera lagringskontots replikeringsegenskap. Se till Verifiera distributionen.

Rensa resurser

När Azure-resurserna inte längre behövs rensar du de resurser som du har distribuerat genom att ta bort resursgruppen.

  1. I Azure-portalen väljer du Resursgrupp på den vänstra menyn.
  2. Ange resursgruppens namn i fältet Filtrera efter namn .
  3. Välj resursgruppens namn.
  4. Välj Ta bort resursgrupp på den översta menyn.

Du kanske också vill ta bort GitHub-lagringsplatsen och Azure DevOps-projektet.

Nästa steg

Grattis, du har slutfört den här distributionsguiden för Resource Manager-mallen. Meddela oss om du har några kommentarer och förslag i feedbackavsnittet. Tack! Du är redo att gå in på mer avancerade begrepp om mallar. I nästa handledning går vi in på i mer detalj hur du använder dokumentation för mallreferenser för att hjälpa till med att definiera resurser som ska distribueras.