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 verharde 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 succesvol wordt gestart en voltooid.
- Controleer de gepubliceerde sjabloonspecificatie in Azure.
Een lintfase toevoegen aan uw pijplijn
Uw repository bevat een ontwerpconcept van een pipeline-definitie 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 onderaan het bestand
# To be added
door 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 dat de linter configureert om fouten te genereren in plaats van waarschuwingen. Fouten tijdens de lintfase leiden ertoe dat de pijplijn mislukt.
Fooi
YAML-bestanden zijn gevoelig voor inspringing. Of u deze code nu typt of plakt, zorg ervoor dat de inspringing correct is. 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 opdracht
az ts create
uitgevoerd om de sjabloonspecificatie naar Azure te publiceren.Fooi
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 zoals 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 in uw browser Pipelines>Pipelines.
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 uw browser naar de Azure Portal.
Ga naar de ToyReusable resourcegroep en selecteer de sjabloonspecificatie linux-app-service.
Bekijk de details van de sjabloonspecificatie.
U ziet dat de meest recente versie en versienummer hetzelfde is als het buildnummer van de pijplijn. Uw pijplijn gebruikt het buildnummer voor het versienummer van de sjabloonspecificatie.