你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
本快速入门介绍如何将 Bicep 文件与 Azure Pipelines 集成,以便持续集成和持续部署。
它简要介绍了部署 Bicep 文件所需执行的管道任务。 有关设置管道和项目的更详细步骤,请参阅 使用 Bicep 和 Azure Pipelines Microsoft Learn 模块部署 Azure 资源 。
先决条件
如果没有 Azure 订阅,请在开始之前创建一个免费帐户。
还需要一个 Azure DevOps 组织。 如果没有,请免费创建一个。 如果您的团队已有 Azure DevOps 组织,请确保您是您要使用的 Azure DevOps 项目的管理员。
需要为你的 Azure 订阅配置一个服务连接。 管道中的任务将以服务主体的身份执行。 有关创建连接的步骤,请参阅 “创建 DevOps 项目”。
需要一个 Bicep 文件 ,用于定义项目的基础结构。 此文件位于存储库中。
需要一个 “.bicepparam” 文件 ,该文件定义 Bicep 文件使用的参数。 此文件位于存储库中。
创建管道
在 Azure DevOps 组织中,选择 “管道 ”和 “创建管道”。
指定代码的存储位置。 本快速入门使用 Azure Repos Git 存储库。
选择包含项目代码的存储库。
选择 Starter 管道 作为要创建的管道类型。
部署 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' 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' connectedServiceName: '${{ parameters.azureServiceConnection }}'更新
azureServiceConnection和location的值。验证存储库中是否具有有效的
main.bicep文件。验证你的存储库中是否有一个包含
main.bicepparam语句的有效using文件。选择“保存”。 生成管道会自动运行。 返回构建管道的摘要,并查看状态。
使用 Azure CLI 任务
注释
该 az deployment group create 命令只需要一个 bicepparam. 文件。
using 文件中的 .bicepparam 语句可以面向任何受支持的位置来引用 Bicep 文件。 仅当使用 Azure CLI 从本地磁盘路径 using 时,存储库中才需要 Bicep 文件。
注释
当你将 .bicepparam 文件与 az deployment group create 命令一起使用时,无法覆盖参数。
将您的初始管道替换为以下 YAML。 它使用
.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 v2 任务。 在气隙云上使用此任务时,必须将任务的
useGlobalConfig属性设置为true。 默认值为false。更新
azureServiceConnection和location的值。验证你的存储库中是否有一个包含
main.bicepparam语句的有效using文件。选择“保存”。 生成管道会自动运行。 返回构建管道的摘要,并查看状态。
清理资源
不再需要 Azure 资源时,请使用 Azure CLI 或 Azure PowerShell 删除快速入门资源组。
az group delete --name exampleRG