Ćwiczenie — publikowanie specyfikacji szablonu
Twój zespół ma pewne pliki Bicep ze wzmocnionymi zabezpieczeniami, które są zgodne z nowym modelem zapewniania ładu w firmie. Jeden z wzmocnionych plików Bicep wdraża aplikację usługi aplikacja systemu Azure Service opartą na systemie Linux. W tym ćwiczeniu użyjesz potoku wdrażania, aby opublikować plik Bicep jako specyfikację szablonu.
Podczas tego procesu wykonasz następujące czynności:
- Dodaj etap lint do potoku.
- Dodaj etap potoku, aby opublikować specyfikację szablonu.
- Sprawdź, czy potok jest uruchamiany i kończy się pomyślnie.
- Sprawdź opublikowaną specyfikację szablonu na platformie Azure.
Dodawanie etapu lint do potoku
Repozytorium zawiera wersję roboczą definicji potoku, której można użyć jako punktu początkowego.
W programie Visual Studio Code rozwiń folder template-specs/linux-app-service w katalogu głównym repozytorium.
Otwórz plik pipeline.yml.
W dolnej części pliku zastąp następującą
# To be added
definicją etapu lint:stages: - stage: Lint jobs: - job: LintCode displayName: Lint code steps: - script: | az bicep build --file $(TemplateSpecFilePath) name: LintBicepCode displayName: Run Bicep linter
Repozytorium zawiera plik bicepconfig.json , który konfiguruje linter tak, aby emitował błędy zamiast ostrzeżeń. Wszelkie błędy podczas etapu lint spowodują niepowodzenie potoku.
Napiwek
Pliki YAML są wrażliwe na wcięcia. Bez względu na to, czy wpiszesz, czy wklejasz ten kod, upewnij się, że wcięcie jest poprawne. W dalszej części tego ćwiczenia zobaczysz kompletną definicję potoku YAML, aby sprawdzić, czy plik jest zgodny.
Dodawanie etapu publikowania do potoku
Teraz możesz dodać drugi etap, aby opublikować specyfikację szablonu na platformie Azure.
Dodaj następujący kod na końcu pliku pipeline.yml :
- 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
Ten etap sprawdza kod z repozytorium i loguje się do platformy Azure przy użyciu utworzonego połączenia z usługą. Następnie uruchamia
az ts create
polecenie , aby opublikować specyfikację szablonu na platformie Azure.Napiwek
Aby zachować prostotę, potok używa numeru kompilacji potoku jako numeru wersji specyfikacji szablonu. W następnej lekcji dowiesz się więcej o bardziej złożonym schemacie przechowywania wersji.
Zapisz zmiany w pliku.
Weryfikowanie i zatwierdzanie definicji potoku
Sprawdź, czy plik pipeline.yml wygląda następująco:
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
Jeśli tak nie jest, zaktualizuj go tak, aby był zgodny z tym przykładem, a następnie zapisz go.
Zatwierdź i wypchnij zmiany do repozytorium Git, uruchamiając następujące polecenia w terminalu programu Visual Studio Code:
git add . git commit -m "Add lint and publish stages to Linux App Service template spec pipeline" git push
Natychmiast po wypchnięciu usługa Azure Pipelines uruchamia nowe uruchomienie potoku.
Monitor the pipeline (Monitorowanie potoku)
W przeglądarce wybierz pozycję Potoki>.
Wybierz aktywne uruchomienie potoku.
Zostanie wyświetlone uruchomienie potoku.
Poczekaj na zakończenie przebiegu potoku. Gdy tak się stanie, specyfikacja szablonu zostanie opublikowana na platformie Azure.
Zanotuj numer kompilacji potoku, który zawiera bieżącą datę i unikatowy numer poprawki. Na przykładowym zrzucie ekranu numer kompilacji to 20230407.1.
Przeglądanie specyfikacji szablonu na platformie Azure
Możesz również wyświetlić opublikowaną specyfikację szablonu w witrynie Azure Portal.
W przeglądarce przejdź do witryny Azure Portal.
Przejdź do grupy zasobów ToyReusable i wybierz specyfikację szablonu linux-app-service .
Sprawdź szczegóły specyfikacji szablonu.
Zwróć uwagę, że numer najnowszej wersji i wersji jest taki sam jak numer kompilacji potoku. Potok używa numeru kompilacji dla numeru wersji specyfikacji szablonu.