Краткое руководство. Интеграция Bicep с Azure Pipelines
В этом кратком руководстве описывается, как интегрировать файлы Bicep с Azure Pipelines, чтобы обеспечить непрерывную интеграцию и непрерывное развертывание (CI/CD).
Оно содержит краткое описание задачи конвейера для развертывания файла Bicep. Если вам нужны дополнительные инструкции по настройке конвейера и проекта, см. статью Развертывание ресурсов Azure с помощью Bicep и Azure Pipelines.
Необходимые компоненты
Если у вас нет подписки Azure, создайте бесплатную учетную запись, прежде чем приступить к работе.
У вас должна быть организация Azure DevOps. Если у вас ее нет, создайте подписку бесплатно. Если у вашей команды уже есть организация Azure DevOps, убедитесь, что вы являетесь администратором проекта Azure DevOps, который вы хотите использовать.
Необходимо настроить подключение службы к подписке Azure. Задачи в конвейере выполняются с удостоверением субъекта-службы. Инструкции по созданию подключения см. в разделе Создание проекта DevOps.
У вас должен быть файл Bicep, определяющий инфраструктуру для проекта. Этот файл находится в репозитории.
Вам нужен файл bicepparam, определяющий параметры, используемые файлом bicep. Этот файл находится в репозитории.
Создание конвейера
В организации Azure DevOps выберите "Конвейеры " и "Создать конвейер".
Укажите место хранения кода. В этом кратком руководстве используется Azure Repos Git.
Выберите репозиторий с кодом для проекта.
Выберите Начальный конвейер в качестве типа создаваемого конвейера.
Развертывание файлов Bicep
Задачу "Развертывание группы ресурсов Azure" или задачу Azure CLI можно использовать для развертывания Bicep-файла.
Использование задачи развертывания шаблонов Azure Resource Manager
Примечание.
Начиная с версии 3.235.0 задачи развертывания шаблонов Azure Resource Manager поддерживается использование файлов bicepparam .
Примечание.
Задача AzureResourceManagerTemplateDeployment@3
требует предоставления файлов Bicep и bicepparam при использовании bicepparam. Файл Bicep может ссылаться на все поддерживаемые расположения для ссылок на модули. Файл bicepparam должен ссылаться на локальный файл Bicep в инструкции using
.
Замените начальный конвейер на следующий YAML. Он создает группу ресурсов и развертывает файл Bicep и bicepparam с помощью задачи развертывания шаблона Azure Resource Manager.
trigger: - main name: Deploy Bicep files parameters: - name: azureServiceConnection type: string default: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' resourceGroupName: 'exampleRG' location: '<your-resource-group-location>' templateFile: './main.bicep' csmParametersFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: AzureResourceManagerTemplateDeployment@3 inputs: deploymentScope: 'Resource Group' azureSubscription: '${{ parameters.azureServiceConnection }}' action: 'Create Or Update Resource Group' resourceGroupName: '$(resourceGroupName)' location: '$(location)' templateLocation: 'Linked artifact' csmFile: '$(templateFile)' csmParametersFile: '$(csmParametersFile)' overrideParameters: '-storageAccountType Standard_LRS' deploymentMode: 'Incremental' deploymentName: 'DeployPipelineTemplate'
Обновите значения
azureServiceConnection
иlocation
.Убедитесь, что у вас есть допустимый
main.bicep
файл в репозитории.Убедитесь, что в репозитории есть допустимый
main.bicepparam
файл, содержащий инструкцию using .Выберите Сохранить. Конвейер сборки запускается автоматически. Вернитесь к сводке по конвейеру сборки и просмотрите его состояние.
Использование задачи Azure CLI
Примечание.
Команда az deployment create требует только файла bicepparam. Инструкция using
в файле bicepparam может нацелиться на любое поддерживаемую папку, чтобы ссылаться на Bicep-файл. Файл Bicep требуется только в репозитории, если using
из локального пути к диску с помощью Azure CLI.
Примечание.
При использовании файла bicepparam с командой az deployment group create невозможно переопределить параметры.
Замените начальный конвейер на следующий YAML. Он создает группу ресурсов и развертывает файл bicepparam с помощью задачи Azure CLI:
trigger: - main name: Deploy Bicep files parameters: azureServiceConnection: '<your-connection-name>' variables: vmImageName: 'ubuntu-latest' resourceGroupName: 'exampleRG' location: '<your-resource-group-location>' bicepParamFile: './main.bicepparam' pool: vmImage: $(vmImageName) steps: - task: AzureCLI@2 inputs: azureSubscription: '${{ parameters.azureServiceConnection }}' scriptType: bash scriptLocation: inlineScript useGlobalConfig: false inlineScript: | az --version az group create --name $(resourceGroupName) --location $(location) az deployment group create ` --resource-group $(resourceGroupName) ` --parameters $(bicepParamFile) ` --name DeployPipelineTemplate
Описание входных данных задачи см. в статье Задача Azure CLI. При использовании задачи в облаке с воздушным подключением необходимо задать
useGlobalConfig
для свойства задачиtrue
значение . Значение по умолчанию —false
.Обновите значения
azureServiceConnection
иlocation
.Убедитесь, что в репозитории есть допустимый
main.bicepparam
файл, содержащий инструкцию using .Выберите Сохранить. Конвейер сборки запускается автоматически. Вернитесь к сводке по конвейеру сборки и просмотрите его состояние.
Очистка ресурсов
Если ресурсы Azure больше не нужны, используйте Azure CLI или Azure PowerShell, чтобы удалить группу ресурсов, созданную для краткого руководства.
az group delete --name exampleRG