Упражнение. Публикация спецификации шаблона
У вашей команды есть некоторые файлы Bicep, защищенные безопасностью, которые соответствуют новой модели управления вашей компании. Один из защищенных файлов Bicep развертывает приложение Службы приложений Azure под управлением Linux. В этом упражнении вы используете конвейер развертывания для публикации файла Bicep как спецификации шаблона.
Во время процесса вы выполните следующие действия.
- Добавьте этап линтинга в конвейер.
- Добавьте этап конвейера для публикации спецификации шаблона.
- Убедитесь, что конвейер запускается и завершается успешно.
- Проверьте опубликованную спецификацию шаблона в Azure.
Добавьте этап lint в конвейер
Репозиторий содержит черновик определения конвейера, который можно использовать в качестве отправной точки.
В Visual Studio Code откройте папку template-specs/linux-app-service, которая находится в корне репозитория.
Откройте файл pipeline.yml.
В нижней части файла замените
# To be added
следующим определением этапа lint:stages: - stage: Lint jobs: - job: LintCode displayName: Lint code steps: - script: | az bicep build --file $(TemplateSpecFilePath) name: LintBicepCode displayName: Run Bicep linter
В вашем репозитории есть файл bicepconfig.json, который настраивает линтер на вывод ошибок вместо предупреждений. Все сбои во время этапа линтинга приведут к сбою конвейера.
Совет
Файлы YAML чувствительны к отступу. Введите или вставьте этот код и убедитесь, что отступы выполнены правильно. Далее в этом упражнении вы увидите полное определение конвейера YAML, чтобы убедиться, что файл соответствует.
Добавьте этап публикации в ваш конвейер
Теперь можно добавить второй этап для публикации спецификации шаблона в Azure.
Добавьте следующий код в конце файла 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
На этом этапе код извлекается из вашего репозитория и выполняется вход в Azure с использованием созданного вами подключения к службе. Затем она запускает команду
az ts create
для публикации спецификации шаблона в Azure.Совет
Для простоты конвейер использует номер сборки конвейера в качестве номера версии спецификации шаблона. В следующем уроке вы узнаете о более сложной схеме управления версиями.
Сохраните изменения в файле.
Проверьте и закоммитьте конфигурацию вашего конвейера
Убедитесь, что файл pipeline.yml выглядит следующим образом:
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
Если это не так, обновите его в соответствии с этим примером, а затем сохраните его.
Зафиксируйте и отправьте изменения в репозиторий Git, выполнив следующие команды в терминале Visual Studio Code:
git add . git commit -m "Add lint and publish stages to Linux App Service template spec pipeline" git push
Как только вы отправите код, Azure Pipelines запускает новый прогон конвейера.
Мониторинг конвейера
В браузере выберите Pipelines>Pipelines.
Выберите активный запуск конвейера.
Отображается запуск конвейера.
Дождитесь завершения выполнения конвейера. Когда это делается, спецификация шаблона публикуется в Azure.
Обратите внимание на номер сборки конвейера, который включает сегодняшнюю дату и уникальный номер ревизии. На снимке экрана показан номер сборки 20230407.1.
Проверка спецификации шаблона в Azure
Вы также можете просмотреть опубликованную спецификацию шаблона на портале Azure.
В браузере перейдите на портал Azure.
Перейдите в группу ресурсов ToyReusable и выберите спецификацию шаблона linux-app-service.
Изучите сведения о спецификации шаблона.
Обратите внимание, что номер версии последней сборки и номер версии совпадают с номером сборки конвейера. В вашем потоке данных используется номер сборки для номера версии спецификации шаблона.