You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何通过Azure DevOps Pipeline创建Azure虚拟机?求流程任务及前置条件

通过Azure DevOps Pipeline创建Azure虚拟机的方案

前置条件

  • 持有有效Azure订阅,且Azure DevOps配置的**服务主体(Service Principal)**具备虚拟机创建权限(推荐分配Contributor或Virtual Machine Contributor角色)
  • Azure DevOps项目已配置Azure资源管理器服务连接,确保Pipeline能正常访问目标Azure订阅
  • 若使用自定义镜像或初始化脚本,需提前准备好:存储在Azure Compute Gallery/存储账户的镜像,以及PowerShell/Bash初始化脚本
  • 确认目标Azure区域的虚拟机配额充足,避免因配额不足导致创建失败

可用的Pipeline任务/流程

1. ARM模板部署(标准方案)

这是官方推荐的基础设施部署方式,调整配置后可解决之前的失败问题:

  • 准备完整的ARM模板:需包含VM及依赖资源(虚拟网络、存储账户、公共IP等),或模板中引用已存在的资源
  • 在Pipeline中添加Azure Resource Group Deployment任务:
    • 选择已配置的Azure服务连接
    • 指定目标资源组(可提前创建,或在模板中加入资源组创建逻辑)
    • 上传ARM模板文件和参数文件
    • 设置部署模式为Incremental(避免误删资源组内现有资源)

2. Azure CLI任务(灵活脚本化)

适合需要自定义流程的场景:

  • 在Pipeline中添加Azure CLI任务,选择对应操作系统(Windows/Linux)
  • 编写CLI命令完成VM创建,示例:
az vm create \
  --resource-group myResourceGroup \
  --name myVM \
  --image Ubuntu2204 \
  --admin-username azureuser \
  --generate-ssh-keys
  • 可搭配其他CLI命令提前创建依赖资源(如虚拟网络、子网)

3. Terraform任务(可选,声明式IaC)

如果习惯用声明式代码管理基础设施:

  • 在Pipeline中添加Terraform Installer任务安装指定版本的Terraform
  • 依次添加Terraform Init、Terraform Plan、Terraform Apply任务,通过Terraform配置文件定义VM及所有依赖资源

排查之前部署失败的常见原因

  • 服务主体权限不足:检查服务主体是否拥有目标资源组的操作权限,是否缺少依赖资源(如存储、网络)的创建权限
  • 模板/参数错误:比如镜像名称拼写错误、VM大小在目标区域未提供、管理员密码不符合Azure复杂度要求
  • 依赖资源缺失:模板中引用的虚拟网络、子网等未提前创建,且模板未包含这些资源的创建逻辑
  • 配额限制:目标区域的VM核心数、公共IP地址等配额不足,可在Azure门户查看并申请配额提升
  • 部署模式错误:若使用Complete模式,会删除资源组内未在模板中定义的资源,易引发冲突

内容的提问来源于stack exchange,提问作者Ch Vamsi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 15:45:43