Oefening: een sjabloonspecificatie publiceren

Voltooid

Uw team heeft enkele door beveiliging beveiligde Bicep-bestanden die compatibel zijn met het nieuwe governancemodel van uw bedrijf. Een van de beperkte Bicep-bestanden implementeert een op Linux gebaseerde Azure-app Service-app. In deze oefening gebruikt u een implementatiepijplijn om het Bicep-bestand als sjabloonspecificatie te publiceren.

Tijdens het proces gaat u het volgende doen:

  • Voeg een lintfase toe aan de pijplijn.
  • Voeg een pijplijnfase toe om de sjabloonspecificatie te publiceren.
  • Controleer of de pijplijn wordt gestart en voltooid.
  • Controleer de gepubliceerde sjabloonspecificatie in Azure.

Een lintfase toevoegen aan uw pijplijn

Uw opslagplaats bevat een concept van een pijplijndefinitie die u als uitgangspunt kunt gebruiken.

  1. Vouw in Visual Studio Code de map template-specs/linux-app-service uit in de hoofdmap van de opslagplaats.

  2. Open het bestand pipeline.yml .

    Schermopname van Visual Studio Code met de locatie van het pijplijndefinitiebestand.

  3. Vervang onder aan het bestand door # To be added de volgende lintfasedefinitie:

    stages:
    
    - stage: Lint
      jobs:
      - job: LintCode
        displayName: Lint code
        steps:
          - script: |
              az bicep build --file $(TemplateSpecFilePath)
            name: LintBicepCode
            displayName: Run Bicep linter
    

    Uw opslagplaats heeft een bicepconfig.json-bestand waarmee de linter wordt geconfigureerd voor het verzenden van fouten in plaats van waarschuwingen. Fouten tijdens de lintfase leiden ertoe dat de pijplijn mislukt.

    Tip

    YAML-bestanden zijn gevoelig voor inspringing. Controleer of de inspringing juist is, ongeacht of u deze code typt of plakt. Verderop in deze oefening ziet u de volledige YAML-pijplijndefinitie, zodat u kunt controleren of het bestand overeenkomt.

Een publicatiefase toevoegen aan uw pijplijn

U kunt nu een tweede fase toevoegen om de sjabloonspecificatie naar Azure te publiceren.

  1. Voeg de volgende code toe aan het einde van het pipeline.yml-bestand :

    - stage: Publish
      jobs:
      - job: Publish
        steps:
          - task: AzureCLI@2
            name: Publish
            displayName: Publish template spec
            inputs:
              azureSubscription: $(ServiceConnectionName)
              scriptType: 'bash'
              scriptLocation: 'inlineScript'
              inlineScript: |
                az ts create \
                  --resource-group $(AzureResourceGroupName) \
                  --name $(TemplateSpecName) \
                  --version $(Build.BuildNumber) \
                  --template-file $(TemplateSpecFilePath) \
                  --location $(AzureRegion) \
                  --yes
    

    In deze fase wordt de code uit uw opslagplaats uitgecheckt en wordt u aangemeld bij Azure met behulp van de serviceverbinding die u hebt gemaakt. Vervolgens wordt de az ts create opdracht uitgevoerd om de sjabloonspecificatie naar Azure te publiceren.

    Tip

    Om het eenvoudig te houden, gebruikt uw pijplijn het buildnummer van de pijplijn als het versienummer van de sjabloonspecificatie. In de volgende les leert u meer over een complexer versiebeheerschema.

  2. Sla de wijzigingen in het bestand op.

Uw pijplijndefinitie controleren en doorvoeren

  1. Controleer of uw pipeline.yml bestand eruitziet als in het volgende voorbeeld:

    trigger:
      batch: true
      branches:
        include:
        - main
      paths:
        include:
        - 'template-specs/linux-app-service/**'
    
    variables:
    - name: ServiceConnectionName
      value: ToyReusable
    - name: AzureResourceGroupName
      value: ToyReusable
    - name: AzureRegion
      value: westus3
    - name: TemplateSpecName
      value: linux-app-service
    - name: TemplateSpecFilePath
      value: template-specs/linux-app-service/main.bicep
    
    pool:
      vmImage: ubuntu-latest
    
    stages:
    
    - stage: Lint
      jobs:
      - job: LintCode
        displayName: Lint code
        steps:
          - script: |
              az bicep build --file $(TemplateSpecFilePath)
            name: LintBicepCode
            displayName: Run Bicep linter
    
    - stage: Publish
      jobs:
      - job: Publish
        steps:
          - task: AzureCLI@2
            name: Publish
            displayName: Publish template spec
            inputs:
              azureSubscription: $(ServiceConnectionName)
              scriptType: 'bash'
              scriptLocation: 'inlineScript'
              inlineScript: |
                az ts create \
                  --resource-group $(AzureResourceGroupName) \
                  --name $(TemplateSpecName) \
                  --version $(Build.BuildNumber) \
                  --template-file $(TemplateSpecFilePath) \
                  --location $(AzureRegion) \
                  --yes
    

    Als dit niet het probleem is, werkt u deze bij zodat deze overeenkomt met dit voorbeeld en slaat u het op.

  2. Voer uw wijzigingen door en push deze naar uw Git-opslagplaats door de volgende opdrachten uit te voeren in de Visual Studio Code-terminal:

    git add .
    git commit -m "Add lint and publish stages to Linux App Service template spec pipeline"
    git push
    

    Direct nadat u een push hebt uitgevoerd, start Azure Pipelines een nieuwe pijplijnuitvoering.

De pijplijn bewaken

  1. Selecteer Pipelines Pipelines> in uw browser.

    Schermopname van Azure Pipelines met het menu-item Pijplijnen.

  2. Selecteer de actieve pijplijnuitvoering.

  3. De pijplijnuitvoering wordt weergegeven.

    Wacht tot de pijplijnuitvoering is voltooid. Wanneer dit het geval is, wordt de sjabloonspecificatie gepubliceerd naar Azure.

    Schermopname van Azure Pipelines met een geslaagde pijplijnuitvoering en markeert het buildnummer.

  4. Noteer het buildnummer van de pijplijn, dat de datum van vandaag en een uniek revisienummer bevat. In de voorbeeldschermafbeelding is het buildnummer 20230407.1.

De sjabloonspecificatie in Azure controleren

U kunt ook de gepubliceerde sjabloonspecificatie bekijken in Azure Portal.

  1. Ga in een browser naar de Azure-portal.

  2. Ga naar de resourcegroep ToyReusable en selecteer de sjabloonspecificatie voor linux-app-service .

    Schermopname van Azure Portal waarin de resourcegroep wordt weergegeven, met de sjabloonspecificatie gemarkeerd.

  3. Bekijk de details van de sjabloonspecificatie.

    Schermopname van Azure Portal met de details van de sjabloonspecificatie.

    U ziet dat de nieuwste versie en het versienummer hetzelfde zijn als het buildnummer van de pijplijn. Uw pijplijn gebruikt het buildnummer voor het versienummer van de sjabloonspecificatie.