Упражнение. Публикация спецификации шаблона
У вашей команды есть некоторые файлы Bicep, защищенные безопасностью, которые соответствуют новой модели управления вашей компании. Один из защищенных файлов Bicep развертывает приложение Службы приложений Azure на основе Linux. В этом упражнении вы используете конвейер развертывания для публикации Bicep-файла в качестве спецификации шаблона.
В процессе вы:
- Добавьте этап lint в конвейер.
- Добавьте этап конвейера для публикации спецификации шаблона.
- Убедитесь, что конвейер запускается и завершается успешно.
- Проверьте опубликованную спецификацию шаблона в 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, который настраивает анализатор кода таким образом, чтобы он выдавал ошибки вместо предупреждений и все сбои, возникающие во время этапа lint, приводили к сбою рабочего процесса.
Совет
YAML-файлы чувствительны к отступу. При вводе или вставке этого кода убедитесь, что выбран правильный отступ. Далее в этом упражнении вы увидите определение полного конвейера YAML и проверите, соответствует ли ваш файл ему.
Добавление этапа publish в конвейер
Теперь можно добавить второй этап для публикации спецификации шаблона в 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 запускает новое выполнение конвейера.
Мониторинг конвейера
В браузере выберите Конвейеры>Конвейеры.
Выберите активное выполнение конвейера.
Отобразится выполнение конвейера.
Дождитесь завершения выполнения конвейера. В этом случае спецификация шаблона публикуется в Azure.
Обратите внимание на номер сборки конвейера, который включает текущую дату и уникальный номер редакции. На снимке экрана показан номер сборки 20230407.1.
Просмотр спецификации шаблона в Azure
Вы также можете просмотреть опубликованную спецификацию шаблона на портале Azure.
В браузере перейдите на портал Azure.
Перейдите в группу ресурсов ToyReusable и выберите спецификацию шаблона linux-app-service.
Изучите сведения о спецификации шаблона.
Обратите внимание, что номера последней версии и версии совпадают с номером сборки конвейера. Конвейер использует номер сборки в качестве номера версии спецификации шаблона.