AzureResourceManagerTemplateDeployment@3 - ARM 模板部署 v3 任务

使用此任务将 Azure 资源管理器 (ARM) 模板部署到所有部署范围。

语法

# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
  inputs:
  # Azure Details
    deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
    azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection. 
    #subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription. 
    #action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
    #resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group. 
    #location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location. 
  # Template
    #templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
    #csmFileLink: # string. Required when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template link. 
    #csmParametersFileLink: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template parameters link. 
    #csmFile: # string. Required when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. Template. 
    #csmParametersFile: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. Template parameters. 
    #overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters. 
    #deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
  # Advanced
    #deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name. 
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs. 
    #addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.
    #useWithoutJSON: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Use individual output values without JSON.Stringify applied. Default: false.
# ARM template deployment v3
# Deploy an Azure Resource Manager (ARM) template to all the deployment scopes.
- task: AzureResourceManagerTemplateDeployment@3
  inputs:
  # Azure Details
    deploymentScope: 'Resource Group' # 'Management Group' | 'Subscription' | 'Resource Group'. Required. Deployment scope. Default: Resource Group.
    azureResourceManagerConnection: # string. Alias: ConnectedServiceName. Required. Azure Resource Manager connection. 
    #subscriptionId: # string. Alias: subscriptionName. Required when deploymentScope != Management Group. Subscription. 
    #action: 'Create Or Update Resource Group' # 'Create Or Update Resource Group' | 'DeleteRG'. Required when deploymentScope = Resource Group. Action. Default: Create Or Update Resource Group.
    #resourceGroupName: # string. Required when deploymentScope = Resource Group. Resource group. 
    #location: # string. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Location. 
  # Template
    #templateLocation: 'Linked artifact' # 'Linked artifact' | 'URL of the file'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Template location. Default: Linked artifact.
    #csmFileLink: # string. Required when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template link. 
    #csmParametersFileLink: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file. Template parameters link. 
    #csmFile: # string. Required when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. Template. 
    #csmParametersFile: # string. Optional. Use when (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact. Template parameters. 
    #overrideParameters: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Override template parameters. 
    #deploymentMode: 'Incremental' # 'Incremental' | 'Complete' | 'Validation'. Required when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment mode. Default: Incremental.
  # Advanced
    #deploymentName: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment name. 
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Deployment outputs. 
    #addSpnToEnvironment: false # boolean. Optional. Use when action = Create Or Update Resource Group || deploymentScope != Resource Group. Access service principal details in override parameters. Default: false.

输入

deploymentScope - 部署范围
string。 必填。 允许的值:Management GroupSubscriptionResource Group。 默认值:Resource Group

部署的范围。 详细了解 部署范围


azureResourceManagerConnection - Azure 资源管理器连接
输入别名:ConnectedServiceNamestring。 必填。

指定有权访问所选部署范围的 Azure 资源管理器服务连接。


subscriptionId - 订阅
输入别名:subscriptionNamestringdeploymentScope != Management Group时是必需的。

指定 Azure 订阅。

重要

指定的值必须是订阅 ID,而不是订阅名称。


action - 操作
stringdeploymentScope = Resource Group时是必需的。 允许的值:Create Or Update Resource GroupDeleteRG(删除资源组)。 默认值:Create Or Update Resource Group

要对 Azure 资源或资源组执行的操作。


resourceGroupName - 资源组
stringdeploymentScope = Resource Group时是必需的。

提供资源组的名称。


location - 位置
stringaction = Create Or Update Resource Group || deploymentScope != Resource Group时是必需的。

资源组部署范围:部署资源组的位置。 如果 Azure 订阅中已存在资源组,则将忽略此值。 其他部署范围:用于存储部署元数据的位置。


templateLocation - 模板位置
stringaction = Create Or Update Resource Group || deploymentScope != Resource Group时是必需的。 允许的值:Linked artifactURL of the file。 默认值:Linked artifact

模板和参数 JSON 文件的位置。 如果文件是链接代码/生成项目的一部分,请选择 链接项目。 对于链接的项目,还可以指定 Bicep 文件的路径。 如果 JSON 文件位于任何可公开访问的 http/https URL,请选择文件 URL。 若要使用存储在专用存储帐户中的文件,请在模板的 URL 中检索和包含共享访问签名 (SAS) 令牌。 示例:<blob_storage_url>/template.json?。 若要将参数文件上传到存储帐户并生成 SAS 令牌,可以使用 Azure 文件复制任务,或使用 PowerShellAzure CLI执行步骤。


csmFileLink - 模板链接
string(action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file时是必需的。

指定模板文件的 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 文件复制 任务,或使用 PowerShellAzure CLI执行步骤。

若要查看网格中的模板参数,请单击替代模板参数文本框旁边的 ...。 此功能要求在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请参阅 跨域资源共享 以启用 CORS。


csmParametersFileLink - 模板参数链接
string。 自选。 当 (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = URL of the file时使用。

指定参数文件的 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 文件复制 任务,或使用 PowerShellAzure CLI执行步骤。

若要查看网格中的模板参数,请单击“替代模板参数”文本框旁边的 ...。 此功能要求在源中启用 CORS 规则。 如果模板位于 Azure 存储 Blob 中,请参阅 跨域资源共享 以启用 CORS。


csmFile - 模板
string(action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact时是必需的。

指定指向 Azure 资源管理器模板的路径或模式。 详细了解 Azure 资源管理器模板。 若要立即开始,请使用此示例模板 。 当 Azure CLI 版本 > 2.20.0 时,支持 Bicep 文件。


csmParametersFile - 模板参数
string。 自选。 当 (action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact时使用。

为 Azure 资源管理器模板的参数文件指定路径或模式。 当 Azure CLI 版本 > 2.47.0 时,支持 Bicep Param 文件。


overrideParameters - 替代模板参数
string。 自选。 当 action = Create Or Update Resource Group || deploymentScope != 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 - 部署模式
stringaction = Create Or Update Resource Group || deploymentScope != Resource Group时是必需的。 允许的值:IncrementalCompleteValidation(仅验证)。 默认值:Incremental

Incremental 模式将部署作为对资源组的增量更新进行处理。 它保留资源组中存在但未在模板中指定的未更改的资源。

Complete 模式将删除不在模板中的资源。 完整模式所需的时间比增量模式要长。 如果任务超时,请考虑增加超时或更改为 Incremental 模式。

警告

完整模式将删除未在模板中指定的资源组中的所有现有资源。 请检查要部署到的资源组是否不包含模板中未指定的任何必要资源。 通过 Validate 模式,可以在创建实际资源之前查找模板的问题。

注意

即使未部署任何资源,Validate 模式也会始终创建资源组。 详细了解 部署模式


deploymentName - 部署名称
string。 自选。 当 action = Create Or Update Resource Group || deploymentScope != Resource Group时使用。

指定要创建的资源组部署的名称。


deploymentOutputs - 部署输出
string。 自选。 当 action = Create Or Update Resource Group || deploymentScope != Resource Group时使用。

为输出变量提供一个名称,该变量包含字符串格式的当前部署对象的 outputs 节。 可以使用 ConvertFrom-Json PowerShell cmdlet 分析 JSON 对象并访问单个输出值。 详细了解 部署输出。


addSpnToEnvironment - 替代参数中的 Access 服务主体详细信息
boolean。 自选。 当 action = Create Or Update Resource Group || deploymentScope != Resource Group时使用。 默认值:false

添加选择为脚本执行环境的 Azure 终结点的服务主体 ID 和密钥。 变量 $servicePrincipalId$servicePrincipalKey 可以采用替代参数,例如 -key $servicePrincipalKey


useWithoutJSON - 不使用 JSON 使用单个输出值。已应用字符串化
boolean。 自选。 当 action = Create Or Update Resource Group || deploymentScope != Resource Group时使用。 默认值:false

通过 JSON 转换单个输出值。默认情况下,Stringify。 如果要使用输出值,因为它不通过 JSON 转换它们。Stringify,启用此选项。 有关更多详细信息,请参阅此


任务控制选项

除任务输入之外,所有任务都具有控制选项。 有关详细信息,请参阅 控件选项和常见任务属性

输出变量

没有。

言论

注意

当 Azure CLI 版本 > 2.20.0 时,此任务支持 Bicep 文件。

  • 添加了对所有部署范围部署的支持。
    • 删除了所有与 VM 相关的操作。

要求

要求 描述
管道类型 YAML,经典版本,经典版本
运行时间 代理,DeploymentGroup
需求 没有
功能 此任务不满足作业中后续任务的任何要求。
命令限制 任何
Settable 变量 任何
代理版本 2.119.1 或更高版本
任务类别 部署