Cvičení – publikování specifikace šablony
Váš tým má několik zabezpečených souborů Bicep, které odpovídají novému řídícímu modelu vaší společnosti. Jeden z bezpečnostně zpevněných souborů Bicep nasadí aplikaci Azure App Service běžící na Linuxu. V tomto cvičení použijete nasazovací kanál k publikování souboru Bicep jako specifikace šablony.
Během tohoto procesu:
- Přidejte do potrubí etapu lint.
- Přidejte etapu kanálu pro publikování specifikace šablony.
- Ověřte, že se pipeline úspěšně spouští a dokončuje.
- Zkontrolujte specifikaci publikované šablony v Azure.
Přidejte fázi lint do vaší pipeline
Úložiště obsahuje koncept definice kanálu, který můžete použít jako výchozí bod.
V editoru Visual Studio Code rozbalte složku template-specs/linux-app-service v kořenovém adresáři úložiště.
Otevřete soubor pipeline.yml.
V dolní části souboru nahraďte
# To be added
následující definicí fáze lint:stages: - stage: Lint jobs: - job: LintCode displayName: Lint code steps: - script: | az bicep build --file $(TemplateSpecFilePath) name: LintBicepCode displayName: Run Bicep linter
Vaše úložiště obsahuje soubor bicepconfig.json, který konfiguruje linter tak, aby místo upozornění vygeneroval chyby. Jakákoli selhání během fáze lint způsobí selhání kanálu.
Spropitné
Soubory YAML jsou citlivé na odsazení. Bez ohledu na to, jestli tento kód napíšete nebo vložíte, zkontrolujte správnost odsazení. Později v tomto cvičení uvidíte úplnou definici kanálu YAML, abyste mohli ověřit, že se váš soubor shoduje.
Přidání fáze publikování do pipeline
Teď můžete přidat druhou fázi pro publikování specifikace šablony do Azure.
Na konec souboru pipeline.yml přidejte následující kód:
- 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
Tato fáze zkontroluje kód z úložiště a přihlásí se k Azure pomocí připojení služby, které jste vytvořili. Potom spustí příkaz
az ts create
, který publikuje specifikaci šablony do Azure.Spropitné
Aby to bylo jednoduché, váš kanál používá číslo buildu kanálu jako číslo verze specifikace šablony. V další lekci se dozvíte o složitějším schématu správy verzí.
Uložte změny souboru.
Ověřte a potvrďte definici pipeline
Ověřte, že váš soubor pipeline.yml vypadá jako v následujícím příkladu:
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
Pokud tomu tak není, aktualizujte ho tak, aby odpovídal tomuto příkladu, a pak ho uložte.
Potvrďte a nasdílejte změny do úložiště Git spuštěním následujících příkazů v terminálu editoru Visual Studio Code:
git add . git commit -m "Add lint and publish stages to Linux App Service template spec pipeline" git push
Hned po odeslání změn Azure Pipelines spustí nový běh kanálu.
Monitorování procesu
V prohlížeči vyberte Pipelines>Pipelines.
Vyberte aktivní spuštění kanálu.
Zobrazí se spuštění kanálu.
Počkejte na dokončení spuštění kanálu. Pokud ano, specifikace šablony se publikuje do Azure.
Zapište si číslo buildu pipeline, které zahrnuje dnešní datum a jedinečné číslo revize. Na příkladu snímku obrazovky je číslo buildu 20230407.1.
Kontrola specifikace šablony v Azure
Specifikace publikované šablony můžete zobrazit také na webu Azure Portal.
V prohlížeči přejděte na webu Azure Portal.
Přejděte do skupiny prostředků ToyReusable a vyberte šablonu linux-app-service.
Prozkoumejte podrobnosti specifikace šablony.
Všimněte si, že číslo nejnovější verze a číslo verze je stejné jako číslo buildu kanálu. Vaše potrubí používá číslo buildu jako číslo verze specifikace šablony.