Zelfstudie: Continue integratie van ARM-sjablonen met Azure Pipelines

In de vorige zelfstudie hebt u een gekoppelde sjabloon geïmplementeerd. In deze zelfstudie leert u hoe u Azure Pipelines kunt gebruiken om voortdurend ARM-sjabloonprojecten (Azure Resource Manager) te bouwen en implementeren.

Azure DevOps biedt ontwikkelaarsdiensten om teams te ondersteunen bij het plannen van werk, het samenwerken aan codeontwikkeling en het bouwen en implementeren van toepassingen. Ontwikkelaars kunnen werken in de cloud met behulp van Azure DevOps-services. Azure DevOps biedt een geïntegreerde set functies die u via uw webbrowser of IDE-client kunt openen. Azure Pipelines is een van deze functies. Azure-pijplijnen is een volledig uitgeruste service voor continue integratie (CI) en continue levering (CD). Het werkt met uw favoriete Git-provider en kan worden geïmplementeerd in de meeste belangrijke cloudservices. Vervolgens kunt u het bouwen, testen en implementeren van uw code automatiseren naar Microsoft Azure, Google Cloud Platform of Amazon Web Services.

Notitie

Kies een projectnaam. Wanneer u de zelfstudie doorloopt, vervangt u een van de ARMPipelineProj door uw projectnaam. Deze projectnaam wordt gebruikt om resourcenamen te genereren. Een van de resources is een opslagaccount. Opslagaccountnamen moeten tussen 3 en 24 tekens lang zijn en mogen alleen getallen en kleine letters bevatten. De naam moet uniek zijn. De opslagaccountnaam in de sjabloon is de projectnaam met achteraan toegevoegd: store. De projectnaam moet tussen 3 en 11 tekens lang zijn. De projectnaam moet dus voldoen aan de vereisten voor de opslagaccountnaam en minder dan 11 tekens lang zijn.

Deze zelfstudie bestaat uit de volgende taken:

  • Een GitHub-opslagplaats voorbereiden
  • Een Azure DevOps-project maken
  • Een Azure-pijplijn maken
  • De implementatie van de pijplijn controleren
  • De sjabloon bijwerken en opnieuw implementeren
  • Resources opschonen

Als u geen Azure-abonnement hebt, maakt u een gratis account voordat u begint.

Vereisten

U hebt het volgende nodig om dit artikel te voltooien:

Een GitHub-opslagplaats voorbereiden

GitHub wordt gebruikt voor het opslaan van de broncode van uw project, inclusief Resource Manager-sjablonen. Zie opslagplaatsen die worden ondersteund door Azure DevOps voor andere ondersteunde opslagplaatsen.

Een GitHub-opslagplaats maken

Als u geen GitHub-account hebt, raadpleegt u Vereisten.

  1. Meld u aan bij GitHub.

  2. Selecteer uw accountafbeelding in de rechterbovenhoek en selecteer vervolgens Your repositories (Uw opslagplaatsen).

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

  3. Selecteer New (Nieuw), een groene knop.

  4. Geef een naam voor de opslagplaats op in Repository name. Bijvoorbeeld ARMPipeline-opslagplaats. Vergeet niet om armpipeline te vervangen door de naam van uw project. U kunt Public (Openbaar) of Private (Privé) selecteren voor deze zelfstudie. Selecteer vervolgens Create repository (Opslagplaats maken).

  5. Noteer de URL. De URL van de opslagplaats heeft de volgende indeling: https://github.com/[YourAccountName]/[YourRepositoryName].

Deze opslagplaats wordt een externe opslagplaatsgenoemd. Alle ontwikkelaars van hetzelfde project kunnen hun eigen lokale opslagplaats klonen en de wijzigingen samenvoegen in de externe opslagplaats.

De externe opslagplaats klonen

  1. Open Git Shell of Git Bash. Zie Vereisten.

  2. Controleer of uw huidige map GitHub is.

  3. Voer de volgende opdracht uit:

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

    Vervang door [YourAccountName] de naam van uw GitHub-account en vervang deze door [YourGitHubRepositoryName] de naam van de opslagplaats die u in de vorige procedure hebt gemaakt.

De create_web_app map is de map waarin de sjabloon is opgeslagen. Met pwd de opdracht wordt het pad naar de map weergegeven. In de volgende procedure slaat u de sjabloon op in het pad.

Een quickstart-sjabloon downloaden

In plaats van de sjablonen te maken, kunt u de sjablonen downloaden en opslaan in de map create_web_app .

Zowel de mapnaam als de bestandsnamen worden gebruikt zoals ze zijn in de pijplijn. Als u deze namen wijzigt, moet u de namen die worden gebruikt in de pijplijn bijwerken.

De sjabloon naar de externe opslagplaats pushen

Het bestand azuredeploy.json is toegevoegd aan de lokale opslagplaats. Vervolgens uploadt u de sjabloon naar de externe opslagplaats.

  1. Open Git Shell of Git Bash, als u dat nog niet gedaan hebt.

  2. Wijzig de map in de map create_web_app in uw lokale opslagplaats.

  3. Controleer of het bestand azuredeploy.json zich in de map bevindt.

  4. Voer de volgende opdracht uit:

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

    Er kan een waarschuwing over LF worden weergegeven. U kunt de waarschuwing negeren. Hoofd is de hoofdvertakking. Doorgaans maakt u een branch (vertakking) voor elke update. Om de zelfstudie te vereenvoudigen gebruikt u de hoofdvertakking rechtstreeks.

  5. Blader in een browser naar uw GitHub-opslagplaats. De URL is https://github.com/[YourAccountName]/[YourGitHubRepository]. U ziet de create_web_app map en de twee bestanden in de map.

  6. Selecteer azuredeploy.json om de sjabloon te openen.

  7. Selecteer de knop Raw (Onbewerkt). De URL begint met https://raw.githubusercontent.com.

  8. Maak een kopie van de URL. U moet deze waarde opgeven wanneer u de pijplijn verderop in de zelfstudie configureert.

U hebt een GitHub-opslagplaats gemaakt en de sjablonen naar de opslagplaats geüpload.

Een DevOps-project maken

Er is een DevOps-organisatie vereist voordat u kunt doorgaan met de volgende procedure. Als u er nog geen hebt, raadpleegt u Vereisten.

  1. Aanmelden bij Azure DevOps.

  2. Selecteer een DevOps-organisatie aan de linkerkant en selecteer vervolgens Nieuw project. Als u nog geen projecten hebt, wordt de pagina voor het maken van een project automatisch geopend.

  3. Voer de volgende waarden in:

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

    • Projectnaam: Voer een projectnaam in. U kunt de projectnaam gebruiken die u aan het begin van de zelfstudie hebt gekozen.
    • Zichtbaarheid: Selecteer Privé.

    Gebruik de standaardwaarden voor de overige eigenschappen.

  4. Selecteer Maken.

Maak een serviceverbinding die wordt gebruikt voor het implementeren van projecten in Azure.

  1. Selecteer Projectinstellingen onder in het menu links.

  2. Selecteer Serviceverbindingen onder Pijplijnen.

  3. Selecteer Serviceverbinding maken, Selecteer Azure Resource Manager en selecteer vervolgens Volgende.

  4. Selecteer Service-principal (automatisch) en selecteer vervolgens Volgende.

  5. Voer de volgende waarden in:

    • Bereikniveau: selecteer Abonnement.
    • Abonnement: selecteer uw abonnement.
    • Resourcegroep: laat deze leeg.
    • Verbindingsnaam: voer een naam voor de verbinding in. Bijvoorbeeld ARMPipeline-conn. Noteer deze naam. U hebt deze nodig bij het maken van de pijplijn.
    • Verleen toegang tot alle pijplijnen. (geselecteerd)
  6. Selecteer Opslaan.

Een pipeline maken

U hebt nu de volgende taken voltooid. Als u de vorige secties hebt overgeslagen omdat u bekend bent met GitHub en DevOps, moet u deze taken voltooien voordat u verdergaat.

  • Maak een GitHub-opslagplaats en sla de sjablonen op in de map create_web_app in de opslagplaats.
  • Maak een DevOps-project en maak een Azure Resource Manager-serviceverbinding.

Een pijplijn maken met een stap voor het implementeren van een sjabloon:

  1. Selecteer Pijplijnen in het menu aan de linkerkant.

  2. Selecteer Pijplijn maken.

  3. Op het tabblad Verbinding maken selecteert u GitHub. Voer, als u daarom wordt gevraagd, uw GitHub-referenties in en volg de instructies. Als het volgende scherm wordt weergegeven, selecteert u Alleen opslagplaatsen selecteren en controleert u of uw opslagplaats in de lijst voorkomt voordat u Goedkeuren en installeren selecteert.

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

  4. Selecteer uw opslagplaats op het tabblad Selecteren. De standaardnaam is [YourAccountName]/[YourGitHubRepositoryName].

  5. Selecteer Starter pipeline (pijplijn Starter) op het tabblad Configure (Configureren). U ziet het pijplijnbestand azure-pipelines.yml met twee scriptstappen.

  6. Verwijder de twee scriptstappen uit het .yml-bestand.

  7. Verplaats de cursor naar de regel na steps:.

  8. Selecteer Show Assistant (Assistent weergeven) rechts in het scherm om het deelvenster Tasks (Taken) te openen.

  9. Selecteer ARM template deployment (ARM-implementatiesjabloon).

  10. Voer de volgende waarden in:

    • deploymentScope: Resourcegroep selecteren. Zie Implementatiebereiken voor meer informatie over de bereiken.
    • Azure Resource Manager-verbinding: selecteer de naam van de serviceverbinding die u eerder hebt gemaakt.
    • Abonnement: Geef de id van het doelabonnement op.
    • Actie: Selecteer de actie Resourcegroep maken of bijwerken, voert twee acties - 1 uit. er wordt een resourcegroep gemaakt als u een nieuwe resourcegroepsnaam opgeeft. 2: de opgegeven sjabloon wordt geïmplementeerd.
    • Resourcegroep: Voer een nieuwe resourcegroepnaam in. Bijvoorbeeld ARMPipeline-rg.
    • Locatie: Selecteer een locatie voor de resourcegroep, bijvoorbeeld VS - centraal.
    • Sjabloonlocatie: Selecteer de URL van het bestand, wat betekent dat de taak zoekt naar het sjabloonbestand met behulp van de URL. Omdat relativePath wordt gebruikt in de hoofdsjabloon en relativePath alleen wordt ondersteund voor implementaties op basis van URI's, moet u hier URL gebruiken.
    • Sjabloonkoppeling: voer de URL in die u hebt gekregen aan het einde van de sectie Een GitHub-opslagplaats voorbereiden. Begint met https://raw.githubusercontent.com.
    • Koppeling sjabloonparameters: laat dit veld leeg. U geeft de parameterwaarden op in de parameters voor het Overschrijven van de sjabloon.
    • Sjabloonparameters overschrijven: Enter -projectName [EnterAProjectName].
    • Implementatiemodus: Selecteer Incrementeel.
    • Implementatienaam: Voer DeployPipelineTemplate in. U moet Geavanceerd selecteren om Naam van implementatie weer te geven.

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

  11. Selecteer Toevoegen.

    Zie de implementatietaak voor de Azure-resourcegroep en de implementatietaak voor de Azure Resource Manager-sjabloon voor meer informatie over de taak

    Het .yml-bestand ziet er ongeveer als volgt uit:

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

  12. Selecteer Opslaan en uitvoeren.

  13. Selecteer in het deelvenster Opslaan en uitvoeren nogmaals Opslaan en uitvoeren. Er wordt een kopie van het YAML-bestand opgeslagen in de verbonden opslagplaats. U kunt het YAML-bestand weergeven door naar uw opslagplaats te bladeren.

  14. Controleer of de pijplijn is uitgevoerd.

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

De implementatie controleren

  1. Meld u aan bij de Azure-portal.
  2. Open de resourcegroep. De naam is wat u hebt opgegeven in het YAML-bestand van de pijplijn. U ziet dat er één opslagaccount is gemaakt. De naam van het opslagaccount begint met store.
  3. Selecteer het opslagaccount om het te openen.
  4. Selecteer Eigenschappen. Merk op dat Replicatie is ingesteld op Lokaal redundante opslag (LRS).

Bijwerken en opnieuw implementeren

Wanneer u de sjabloon bijwerkt en de wijzigingen naar de externe opslagplaats pusht, worden de resources (in dit geval het opslagaccount) automatisch bijgewerkt door de pijplijn.

  1. Open linkedStorageAccount.json vanuit uw lokale opslagplaats in Visual Studio Code of een andere teksteditor.

  2. Wijzig de defaultValue (standaardwaarde) van storageAccountType in Standard_GRS. Zie de volgende schermafbeelding:

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

  3. De wijzigingen opslaan.

  4. Push de wijzigingen naar de externe opslagplaats door de volgende opdrachten in Git Bash/Shell uit te voeren.

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

    Met de eerste opdracht (pull) wordt de lokale opslagplaats gesynchroniseerd met de externe opslagplaats. Het YAML-bestand van de pijplijn is alleen toegevoegd aan de externe opslagplaats. Als u de opdracht pull uitvoert, wordt een kopie van het YAML-bestand naar de lokale vertakking gedownload.

    Met de vierde opdracht (push) wordt het herziene bestand linkedStorageAccount.json geüpload naar de externe opslagplaats. Als de hoofdvertakking van de externe opslagplaats is bijgewerkt, wordt de pijplijn opnieuw geactiveerd.

U kunt de wijzigingen controleren door de replicatie-eigenschap van het opslagaccount te controleren. Zie De implementatie controleren.

Resources opschonen

Schoon de geïmplementeerd Azure-resources, wanneer u deze niet meer nodig hebt, op door de resourcegroep te verwijderen.

  1. Selecteer Resourcegroep in het linkermenu van Azure Portal.
  2. Voer de naam van de resourcegroep in het veld Filter by name in.
  3. Selecteer de naam van de resourcegroep.
  4. Selecteer Resourcegroep verwijderen in het bovenste menu.

Mogelijk wilt u ook de GitHub-opslagplaats en het Azure DevOps-project verwijderen.

Volgende stappen

Gefeliciteerd. U hebt deze zelfstudie voor de implementatie van een Resource Manager-sjabloon voltooid. Laat het ons weten als u opmerkingen en suggesties hebt in de feedbacksectie. Bedankt! U kunt nu doorgaan met meer geavanceerde concepten over sjablonen. De volgende zelfstudie gaat dieper in op het gebruik van documentatie voor sjabloonverwijzingen om u te helpen bij het definiëren van te implementeren resources.