如何创建YAML文件以通过Azure Pipelines和Azure Repos部署到Azure
从零配置Azure Pipelines部署Azure资源操作指南
前置准备
- 提前准备可用的Azure订阅,以及对应Azure DevOps项目的管理员/编辑权限
- 在Azure DevOps项目中创建Azure服务连接:进入「项目设置」→「服务连接」→「新建服务连接」→选择「Azure Resource Manager」,按向导完成Azure身份验证,记录你设置的服务连接名称,后续配置需要使用
第一步:创建Pipeline配置文件
在你的代码仓库根目录新建azure-pipelines.yml文件,从空白开始逐步添加配置:
1. 配置触发规则
设置哪些分支更新时会自动触发部署:
# 仅main分支提交时触发部署 trigger: - main # 如需禁用自动触发可改为: # trigger: none
2. 配置运行代理
选择Pipeline运行的服务器环境,推荐使用微软托管的公共代理即可:
pool: # 选择Ubuntu系统镜像,也可根据需求替换为windows-latest/macos-latest vmImage: 'ubuntu-latest'
3. 添加部署步骤
根据你要部署的资源类型添加对应任务,以下为常用场景示例:
基础Azure登录验证(所有场景通用第一步)
steps: - task: AzureCLI@2 inputs: # 替换为你之前创建的Azure服务连接名称 azureSubscription: '你的Azure服务连接名' scriptType: 'bash' scriptLocation: 'inlineScript' inlineScript: | # 输出当前登录的Azure账号信息,用于验证登录状态,验证通过后可删除 az account show --output table
场景1:部署ARM/Bicep模板资源
- task: AzureResourceManagerTemplateDeployment@3 inputs: deploymentScope: 'Resource Group' azureResourceManagerConnection: '你的Azure服务连接名' # 替换为你的Azure订阅ID subscriptionId: 'xxxx-xxxx-xxxx-xxxx' action: 'Create Or Update Resource Group' # 替换为目标资源组名称 resourceGroupName: 'my-resource-group' # 替换为资源部署的区域 location: 'chinaeast2' templateLocation: 'Linked artifact' # 替换为ARM/Bicep模板在仓库中的路径 csmFile: '$(Build.SourcesDirectory)/infra/main.bicep' # 替换为模板参数文件路径,无参数文件可删除该行 csmParametersFile: '$(Build.SourcesDirectory)/infra/main.parameters.json' deploymentMode: 'Incremental'
场景2:部署Azure Web应用
- task: AzureWebApp@1 inputs: azureSubscription: '你的Azure服务连接名' appType: 'webAppLinux' # 替换为你提前创建的Web应用名称 appName: 'my-web-app' # 替换为构建生成的应用包路径 package: '$(System.DefaultWorkingDirectory)/build/*.zip'
第二步:在Azure DevOps中启用Pipeline
- 进入Azure DevOps项目,依次点击「Pipelines」→「New Pipeline」
- 选择你的代码托管源,再选中对应的代码仓库
- 在配置页选择「Starter pipeline」,系统会自动加载你仓库中已有的
azure-pipelines.yml,也可直接在线编辑配置内容 - 保存配置后点击运行,即可完成首次部署
注意事项
首次运行如果提示权限不足,需要进入Azure对应订阅/资源组的访问控制页面,给服务连接对应的服务主体分配「参与者」角色权限
涉密参数如账号密码、密钥等不要直接写在YAML文件中,可进入Azure DevOps项目的「Pipelines」→「Library」创建加密变量组,在YAML中直接引用变量名即可,系统会自动加密敏感内容
内容的提问来源于stack exchange,提问作者Eduardo Gonzalez
相关产品推荐
相关产品推荐

