Oefening: een sjabloonspecificatie publiceren
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.
Vouw in Visual Studio Code de map template-specs/linux-app-service uit in de hoofdmap van de opslagplaats.
Open het bestand pipeline.yml .
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.
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.
Sla de wijzigingen in het bestand op.
Uw pijplijndefinitie controleren en doorvoeren
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.
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
Selecteer Pipelines Pipelines> in uw browser.
Selecteer de actieve pijplijnuitvoering.
De pijplijnuitvoering wordt weergegeven.
Wacht tot de pijplijnuitvoering is voltooid. Wanneer dit het geval is, wordt de sjabloonspecificatie gepubliceerd naar Azure.
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.
Ga in een browser naar de Azure-portal.
Ga naar de resourcegroep ToyReusable en selecteer de sjabloonspecificatie voor linux-app-service .
Bekijk 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.