AzureResourceGroupDeployment@2 - Azure 资源组部署 v2 任务
将 Azure 资源管理器 (ARM) 模板部署到资源组并管理虚拟机。
将 Azure 资源管理器 (ARM) 模板部署到资源组。 还可以启动、停止、删除和解除分配资源组中的所有虚拟机 (VM) 。
语法
# Azure resource group deployment v2
# Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
- task: AzureResourceGroupDeployment@2
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
resourceGroupName: # string. Required. Resource group.
#location: # string. Required when action = Create Or Update Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
# Advanced deployment options for virtual machines
#enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
#teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Azure Pipelines service connection.
#teamProject: # string. Alias: project. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Team project.
#deploymentGroupName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Deployment Group.
#copyAzureVMTags: true # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Copy Azure VM tags to agents. Default: true.
#runAgentServiceAsUser: false # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Run agent service as a user. Default: false.
#userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. User name.
#password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. Password.
#outputVariable: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group. VM details for WinRM.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group. Access service principal details in override parameters. Default: false.
#useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# Azure resource group deployment v2
# Deploy an Azure Resource Manager (ARM) template to a resource group and manage virtual machines.
- task: AzureResourceGroupDeployment@2
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
resourceGroupName: # string. Required. Resource group.
#location: # string. Required when action = Create Or Update Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
# Advanced deployment options for virtual machines
#enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
#teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Azure Pipelines service connection.
#teamProject: # string. Alias: project. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Team project.
#deploymentGroupName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Deployment Group.
#copyAzureVMTags: true # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Copy Azure VM tags to agents. Default: true.
#runAgentServiceAsUser: false # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Run agent service as a user. Default: false.
#userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. User name.
#password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. Password.
#outputVariable: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group. VM details for WinRM.
# Advanced
#deploymentName: # string. Optional. Use when action = Create Or Update Resource Group. Deployment name.
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.
#addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group. Access service principal details in override parameters. Default: false.
# Azure Resource Group Deployment v2
# Deploy an Azure resource manager (ARM) template to a resource group. You can also start, stop, delete, deallocate all Virtual Machines (VM) in a resource group.
- task: AzureResourceGroupDeployment@2
inputs:
# Azure Details
azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription.
action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'Select Resource Group' | 'Start' | 'Stop' | 'StopWithDeallocate' | 'Restart' | 'Delete' | 'DeleteRG'. Required. Action. Default: Create Or Update Resource Group.
resourceGroupName: # string. Required. Resource group.
#location: # string. Required when action = Create Or Update Resource Group. Location.
# Template
#templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group. Template location. Default: Linked artifact.
#csmFileLink: # string. Required when templateLocation = URL of the file && action = Create Or Update Resource Group. Template link.
#csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group. Template parameters link.
#csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template.
#csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group. Template parameters.
#overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group. Override template parameters.
#deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group. Deployment mode. Default: Incremental.
# Advanced deployment options for virtual machines
#enableDeploymentPrerequisites: 'None' # 'None' | 'ConfigureVMwithWinRM' | 'ConfigureVMWithDGAgent'. Optional. Use when action = Create Or Update Resource Group || action = Select Resource Group. Enable prerequisites. Default: None.
#teamServicesConnection: # string. Alias: deploymentGroupEndpoint. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Azure Pipelines/TFS service connection.
#teamProject: # string. Alias: project. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Team project.
#deploymentGroupName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Deployment Group.
#copyAzureVMTags: true # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Copy Azure VM tags to agents. Default: true.
#runAgentServiceAsUser: false # boolean. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group. Run agent service as a user. Default: false.
#userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. User name.
#password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group. Password.
#outputVariable: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group. VM details for WinRM.
# Outputs
#deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.
输入
azureSubscription
- Azure 订阅
输入别名: ConnectedServiceName
。 string
. 必需。
选择包含部署的 Azure 订阅的服务连接。
action
- 行动
string
. 必需。 允许的值: Create Or Update Resource Group
、 Select Resource Group
(配置虚拟机部署选项) 、 Start
(启动虚拟机) 、 Stop
(停止虚拟机) 、 StopWithDeallocate
(停止和解除分配虚拟机) 、 Restart
(重启虚拟机) 、 Delete
(删除虚拟机) (DeleteRG
删除资源组) 。 默认值:Create Or Update Resource Group
。
要对 Azure 资源或资源组执行的操作。
resourceGroupName
- 资源组
string
. 必需。
提供资源组的名称。
location
- 位置
string
. 当 action = Create Or Update Resource Group
时,需要此选项。
要部署资源组的位置。 如果订阅中已存在资源组,则将忽略此值。
templateLocation
- 模板位置
string
. 当 action = Create Or Update Resource Group
时,需要此选项。 允许的值:Linked artifact
、URL of the file
。 默认值:Linked artifact
。
选择 链接的项目 或 文件的 URL。
csmFileLink
- 模板链接
string
. 当 templateLocation = URL of the file && action = Create Or Update Resource Group
时,需要此选项。
指定模板文件的 URL。 示例 URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.json
若要部署存储在专用存储帐户中的模板,请在模板的 URL 中检索并包含共享访问签名 (SAS) 令牌。 示例: <blob_storage_url>/template.json?<SAStoken>
若要将模板文件 (或链接模板) 上传到存储帐户并生成 SAS 令牌,请使用 Azure 文件复制 任务或使用 PowerShell 或 Azure CLI 执行步骤。
若要查看网格中的模板参数,请单击“替代模板参数”文本框旁边的 。...
此功能需要在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请参阅 了解 CORS 请求 以启用 CORS。
csmParametersFileLink
- 模板参数链接
string
. 可选。 在 时 templateLocation = URL of the file && action = Create Or Update Resource Group
使用 。
指定参数文件的 URL。 示例: https://raw.githubusercontent.com/Azure/...
若要使用存储在专用存储帐户中的文件,请在模板的 URL 中检索并包含共享访问签名 (SAS) 令牌。 示例: <blob_storage_url>/template.json?<SAStoken>
若要将参数文件上传到存储帐户并生成 SAS 令牌,可以使用 Azure 文件复制 任务或使用 PowerShell 或 Azure CLI 执行步骤。
若要查看网格中的模板参数,请单击“替代模板参数”文本框旁边的 。...
此功能需要在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请参阅 了解 CORS 请求 以启用 CORS。
csmFile
- 模板
string
. 当 templateLocation = Linked artifact && action = Create Or Update Resource Group
时,需要此选项。
指定指向 Azure 资源管理器模板的路径或模式。 详细了解 Azure 资源管理器模板。 若要立即开始,请使用 此示例模板。
csmParametersFile
- 模板参数
string
. 可选。 在 时 templateLocation = Linked artifact && action = Create Or Update Resource Group
使用 。
指定参数文件的 URL。 示例 URL: https://raw.githubusercontent.com/Azure/azure-quickstart-templates/master/101-vm-simple-windows/azuredeploy.parameters.json
若要使用存储在专用存储帐户中的文件,请在模板的 URL 中检索并包含共享访问签名 (SAS) 令牌。 示例: <blob_storage_url>/template.json?<SAStoken>
若要将参数文件上传到存储帐户并生成 SAS 令牌,请使用 Azure 文件复制 任务或使用 PowerShell 或 Azure CLI 执行步骤。
若要查看网格中的模板参数,请单击“替代模板参数”文本框旁边的 。...
此功能需要在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请参阅 了解 CORS 请求 以启用 CORS。
overrideParameters
- 替代模板参数
string
. 可选。 在 时 action = Create Or Update Resource Group
使用 。
指定要替代的模板参数。
若要查看网格中的模板参数,请单击“ ...
替代参数”文本框旁边的。 此功能需要在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请引用此字符串以启用 CORS,或在文本框中键入要替代的模板参数。
示例:-storageName fabrikam -adminUsername $(vmusername) -adminPassword (ConvertTo-SecureString -String '$(password)' -AsPlainText -Force) -azureKeyVaultName $(fabrikamFibre)
。
如果参数值有多个单词,请将单词括在引号中,即使使用变量传递值也是如此。
例如 -name "parameter value" -name2 "$(var)"
。
若要替代对象类型参数,请使用字符串化的 JSON 对象。
例如 -options ["option1"] -map {"key1": "value1" }
。
deploymentMode
- 部署模式
string
. 当 action = Create Or Update Resource Group
时,需要此选项。 允许的值: Incremental
、 Complete
、 Validation
(仅验证) 。 默认值:Incremental
。
模式 Incremental
将部署作为对资源组的增量更新进行处理。 它保留资源组中存在但未在模板中指定的未更改资源。
Complete
mode 会删除不在模板中的资源。 与增量模式相比,完整模式花费的时间相对较多。 如果任务超时,请考虑增加超时或更改模式 Incremental
。
警告
完成模式将删除资源组中未在模板中指定的所有现有资源。 请检查要部署到的资源组是否不包含模板中未指定的任何必要资源。
Validate
模式使你可以在创建实际资源之前查找模板问题。
注意
该 Validate
模式始终创建资源组,即使未部署任何资源。
详细了解 部署模式。
enableDeploymentPrerequisites
- 启用先决条件
string
. 可选。 在 时 action = Create Or Update Resource Group || action = Select Resource Group
使用 。 允许的值: None
、 ConfigureVMwithWinRM
(配置 WinRM 代理) , ConfigureVMWithDGAgent
(配置部署组代理) 。 默认值:None
。
仅当资源组包含虚拟机时适用。
选择“部署组”选项可在每个虚拟机上配置部署组代理。
选择 WinRM 选项将使用自签名证书在端口 5986 上通过 HTTPS 协议配置 Windows 远程管理 (WinRM) 侦听器。 在 Azure 计算机上执行部署操作需要此配置。 如果目标虚拟机由负载均衡器提供支持,请确保为目标端口配置入站 NAT 规则, (5986) 。
teamServicesConnection
- Azure Pipelines 服务连接
输入别名: deploymentGroupEndpoint
。 string
. 当 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
时,需要此选项。
指定要连接到 Azure DevOps 组织或集合进行代理注册的服务连接。
可以使用 创建服务连接 +New
,然后选择 Token-based authentication
。 需要个人 访问令牌 (PAT) 来设置服务连接。 单击 Manage
以更新服务连接详细信息。
teamServicesConnection
- Azure Pipelines/TFS 服务连接
输入别名: deploymentGroupEndpoint
。 string
. 当 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
时,需要此选项。
指定要连接到 Azure DevOps 组织或集合进行代理注册的服务连接。
可以使用 创建服务连接 +New
,然后选择 Token-based authentication
。 需要个人 访问令牌 (PAT) 来设置服务连接。 单击 Manage
以更新服务连接详细信息。
teamProject
- 团队项目
输入别名: project
。 string
. 当 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
时,需要此选项。
指定定义部署组的团队项目。
deploymentGroupName
- 部署组
string
. 当 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
时,需要此选项。
指定代理 () 将对其注册的部署组。 详细了解 部署组。
copyAzureVMTags
- 将 Azure VM 标记复制到代理
boolean
. 可选。 在 时 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
使用 。 默认值:true
。
选择是否需要将 Azure VM 上配置的标记复制到相应的部署组代理。
默认情况下,按以下格式复制所有 Azure 标记: Key: Value
。 示例:Azure Role : Web
标记将按原样复制到代理计算机。
详细了解如何使用 Azure 资源的标记。
runAgentServiceAsUser
- 以用户身份运行代理服务
boolean
. 可选。 在 时 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
使用 。 默认值:false
。
如果 值设置为 true
,则以默认用户以外的用户身份运行代理服务。
默认用户位于 NT AUTHORITY\\SYSTEM
Windows 和 root
Linux 中。
userName
- 用户名
string
. 当 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group
时,需要此选项。
在虚拟机上运行代理服务的用户名。
对于域用户,请将值指定为 domain\username
或 username@domain.com
。 对于本地用户,请指定 username
。
假定资源组中的所有虚拟机上分别存在同一个域用户或具有相同名称的本地用户。
password
- 密码
string
. 可选。 在 时 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true && action = Create Or Update Resource Group || action = Select Resource Group
使用 。
用户用于在 Windows VM 上运行代理服务的密码。
假定所有 VM 上的指定用户的密码相同。
它可以接受在生成或发布管道中定义的变量作为 $(passwordVariable)
。 可以将变量 secret
标记为 来保护它。
对于 Linux VM,密码不是必需的,将被忽略。
outputVariable
- WinRM 的 VM 详细信息
string
. 可选。 在 时 enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None && action = Create Or Update Resource Group || action = Select Resource Group
使用 。
选择现有资源组时是必需的。 提供资源组变量的名称。 变量可用于 $(variableName)
引用后续任务中的资源组,例如在目标计算机上的 PowerShell 任务中用于部署应用程序的资源组。
仅当所选操作为 Create
、 Update
或 Select
时有效。
deploymentName
- 部署名称
string
. 可选。 在 时 action = Create Or Update Resource Group
使用 。
指定要创建的资源组部署的名称。
deploymentOutputs
- 部署输出
string
. 可选。 在 时 action = Create Or Update Resource Group
使用 。
为输出变量提供一个名称,该变量包含当前部署对象的 outputs 节(字符串格式)。 使用 ConvertFrom-Json
PowerShell cmdlet 分析 JSON 对象并访问单个输出值。
addSpnToEnvironment
- 替代参数中的访问服务主体详细信息
boolean
. 可选。 在 时 action = Create Or Update Resource Group
使用 。 默认值:false
。
添加选择作为脚本执行环境的 Azure 终结点的服务主体 ID 和密钥。 变量 $servicePrincipalId
和 $servicePrincipalKey
可以位于替代参数中,例如 -key $servicePrincipalKey
。
useWithoutJSON
- 使用不带 JSON 的单个输出值。已应用 Stringify
boolean
. 可选。 在 时 action = Create Or Update Resource Group
使用 。 默认值:false
。
通过 JSON 转换单个输出值。默认情况下,字符串化。 如果想要按原样使用输出值,而不通过 JSON 转换它们。字符串化,启用此选项。 有关更多详细信息,请参阅 此文。
任务控制选项
除了任务输入,所有任务都有控制选项。 有关详细信息,请参阅 控制选项和常见任务属性。
输出变量
无。
备注
AzureResourceManagerTemplateDeployment@3 - ARM 模板部署 v3 任务中提供了此任务的新版本。
任务版本 2 中的新增功能
- 使用跨平台代理 (Linux、macOS 或 Windows)
- 支持位于任何可公开访问 http/https URL 的模板 JSON。
- 替代参数的增强 UX,现在可以在网格中查看/编辑参数。
- 负载均衡器支持的 VM 的 NAT 规则映射。
- “资源组”字段现在重命名为“WinRM 的 VM 详细信息”,并包含在“虚拟机的高级部署选项”部分中。
- 的限制:
- 不支持经典订阅。 仅支持 ARM 订阅。
- 不支持 PowerShell 语法,因为任务现在基于 node.js。 重写模板参数时,请确保参数名称区分大小写。 此外,从版本 1.0 迁移到版本 2.0 时,请删除 PowerShell cmdlet,例如“ConvertTo-SecureString”。
疑难解答
错误:内部服务器错误
这些问题本质上大多是暂时性的。 发生这种情况的原因有多种:
- 尝试部署的 Azure 服务之一正在尝试部署到的区域进行维护。 请留意
https://status.azure.com/
Azure 服务的检查停机时间。 - Azure Pipelines 服务本身正在进行维护。 请留意
https://status.dev.azure.com/
停机时间。
但是,我们曾发现这种情况是由于 ARM 模板中的错误导致的,例如你尝试部署的 Azure 服务不支持在为资源选择的区域中使用。
错误:超时
超时问题可能来自两个位置:
- Azure Pipelines 代理
- 门户部署
可以通过检查任务日志中的门户部署链接来确定超时是否来自门户。 如果没有链接,则可能是由于 Azure Pipelines 代理造成的。 如果有链接,请单击链接,查看门户部署中是否存在超时。
错误:重写参数时要启用 CORS 规则
如果在管道中重写参数时从 BLOB 引用模板文件,可能会看到以下警告消息:
Warning: Failed to download the file from template path.
此功能需要在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请参阅跨源资源共享支持以启用 CORS。
除了启用 CORS 外,请确保模板链接中指定的 SAS 令牌为“srt-sco”。 下载文件并继续操作需要此令牌。
Azure Pipelines 代理
如果问题来自 Azure Pipelines 代理,可以通过将 YAML 中的 timeoutInMinutes 设置为 0 来增加超时。 有关详细信息,请参阅在管道中指定作业。
门户部署
查看此文档,了解如何确定错误是否来自Azure 门户:使用 Azure 资源管理器查看部署历史记录。
如果是门户部署,请尝试将 ARM 模板中的“timeoutInMinutes”设置为“0”。 如果未指定,则假定值为 60 分钟。 0 确保部署将尽可能成功运行。
这也可能是由于系统中的暂时性问题而发生的。 如果 Azure Pipelines 服务停机,请留意https://status.dev.azure.com/
检查。
错误:Azure 资源管理器 (ARM) 模板验证失败
发生此问题的主要原因是 ARM 模板中的参数无效,例如不受支持的 SKU 或区域。 如果验证失败,请检查错误消息。 它应该会告知无效的资源和参数。
此问题也可能由多行字符串导致。 目前,Azure 资源组部署任务不支持 ARM 模板或参数 JSON 文件中的多行字符串。
此外,请参阅有关 ARM 模板的结构和语法的文章: 了解 ARM 模板的结构和语法。