快速入门:将 Bicep 与 Azure Pipelines 集成
本快速入门介绍如何将 Bicep 文件与 Azure Pipelines 集成,以实现持续集成和持续部署 (CI/CD)。
它简要介绍了部署 Bicep 文件所需执行的管道任务。
先决条件
如果没有 Azure 订阅,请在开始前创建试用版订阅。
需要一个 Azure DevOps 组织。 如果没有,请创建一个试用版订阅。 如果你的团队已创建了一个 Azure DevOps 组织,请确保你是要使用的 Azure DevOps 项目的管理员。
需要配置到 Azure 订阅的服务连接。 管道中的任务将以服务主体的身份执行。 有关创建连接的步骤,请参阅创建 DevOps 项目。
需要一个定义项目基础结构的 Bicep 文件。 此文件位于存储库中。
需要一个 bicepparam 文件,该文件定义 bicep 文件使用的参数。 此文件位于存储库中。
创建管道
从 Azure DevOps 组织中,选择“管道”和“创建管道”。
指定代码的存储位置。 此快速入门使用 Azure Repos Git。
选择包含项目代码的存储库。
选择“初学者管道”作为要创建的管道的类型。
部署 Bicep 文件
可使用 Azure 资源组部署任务或 Azure CLI 任务来部署 Bicep 文件。
使用 Azure 资源管理器模板部署任务
注意
从 Azure 资源管理器模板部署任务版本 3.235.0 开始,支持使用 bicepparam 文件。
注意
AzureResourceManagerTemplateDeployment@3
任务要求在使用 bicepparam 时提供 Bicep 和 bicepparam 文件。 Bicep 文件可以引用模块引用的所有支持位置。 bicepparam 文件必须在 using
语句中引用本地 Bicep 文件。
将初学者管道替换为以下 YAML。 它会创建一个资源组,并使用 Azure 资源管理器模板部署任务部署 Bicep 和 bicepparam 文件。
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
文件。验证存储库中是否存在包含 using 语句的有效的
main.bicepparam
文件。选择“保存”。 生成管道将自动运行。 返回生成管道的摘要并观察状态。
使用 Azure CLI 任务
注意
az deployment group create 命令只需要 bicepparam 文件。 bicepparam 文件中的 using
语句可以面向任何受支持的位置来引用 Bicep 文件。 仅当使用 Azure CLI 从本地磁盘路径 using
时,存储库中才需要 Bicep 文件。
注意
将 bicepparam 文件与 az deployment group create 命令一起使用时,无法替代参数。
将初学者管道替换为以下 YAML。 它会创建一个资源组,并使用 Azure CLI 任务部署 bicepparam 文件:
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
的值。验证存储库中是否存在包含 using 语句的有效的
main.bicepparam
文件。选择“保存”。 生成管道将自动运行。 返回生成管道的摘要并观察状态。
清理资源
如果不再需要本文中创建的 Azure 资源,请使用 Azure CLI 或 Azure PowerShell 删除快速入门资源组。
az group delete --name exampleRG