AzureResourceManagerTemplateDeployment@3 - ARM 範本部署 v3 工作

使用此工作將 Azure Resource Manager (ARM) 範本部署到所有部署範圍。

Syntax

# 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 templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link. 
    #csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link. 
    #csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template. 
    #csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. 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 templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template link. 
    #csmParametersFileLink: # string. Optional. Use when templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template parameters link. 
    #csmFile: # string. Required when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. Template. 
    #csmParametersFile: # string. Optional. Use when templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group. 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 Resource Manager 連線
輸入別名: ConnectedServiceNamestring. 必要。

指定具有所選部署範圍存取權的 Azure Resource Manager 服務連線。


subscriptionId - 訂閱
輸入別名: subscriptionNamestring. 當 deploymentScope != Management Group 時為必要。

指定 Azure 訂用帳戶。

重要

指定的值必須是訂用帳戶標識碼,而不是訂用帳戶名稱。


action - 行動
string. 當 deploymentScope = Resource Group 時為必要。 允許的值: Create Or Update Resource GroupDeleteRG (刪除資源群組) 。 預設值:Create Or Update Resource Group

要對 Azure 資源或資源群組執行的動作。


resourceGroupName - 資源群組
string. 當 deploymentScope = Resource Group 時為必要。

提供資源群組的名稱。


location - 位置
string. 當 action = Create Or Update Resource Group || deploymentScope != Resource Group 時為必要。

資源群組部署範圍:部署資源群組的位置。 如果資源群組已存在於 Azure 訂用帳戶中,則會忽略此值。 其他部署範圍:儲存部署元數據的位置。


templateLocation - 範本位置
string. 當 action = 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. 當 templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != 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 檔案複製 工作,或使用 PowerShellAzure CLI 遵循步驟。

若要在方格中檢視範本參數,請按兩下 ... [覆寫範本參數] 文字框旁的 。 這項功能需要啟用來源端的 CORS 規則。 如果範本位於 Azure 記憶體 Blob 中,請參閱 跨原始來源資源分享 以啟用 CORS。


csmParametersFileLink - 範本參數連結
string. 選擇性。 使用 時 templateLocation = URL of the file && action = Create Or Update Resource Group || deploymentScope != 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 檔案複製 工作,或使用 PowerShellAzure CLI 遵循步驟。

若要在方格中檢視範本參數,請按兩下 ... [覆寫範本參數] 文字框旁的 。 這項功能需要啟用來源端的 CORS 規則。 如果範本位於 Azure 記憶體 Blob 中,請參閱 跨原始來源資源分享 以啟用 CORS。


csmFile - 範本
string. 當 templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group 時為必要。

指定指向 Azure Resource Manager 樣本的路徑或模式。 深入瞭解 Azure Resource Manager 範本。 若要立即開始使用,請使用 此範例範本。 當 Azure CLI 2.20.0 版 > 時,支援 Bicep 檔案。


csmParametersFile - 範本參數
string. 選擇性。 使用 時 templateLocation = Linked artifact && action = Create Or Update Resource Group || deploymentScope != Resource Group

指定 Azure Resource Manager 樣本之參數檔案的路徑或模式。 當 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 - 部署模式
string. 當 action = Create Or Update Resource Group || deploymentScope != Resource Group 時為必要。 允許的值:Incremental、、 CompleteValidation (僅驗證) 。 預設值:Incremental

模式會將 Incremental 部署當做資源群組的累加式更新來處理。 它會保留存在於資源群組中但未在範本中指定的未變更資源。

Complete mode 會刪除不在範本中的資源。 完整模式需要比累加模式更多的時間。 如果工作逾時,請考慮增加逾時或變更為 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

提供輸出變數的名稱,其中包含字串格式目前部署物件的 output 區段。 您可以使用 ConvertFrom-Json PowerShell Cmdlet來剖析 JSON 物件,並存取個別的輸出值。 深入瞭解 部署輸出


addSpnToEnvironment - 覆寫參數中的存取服務主體詳細數據
boolean. 選擇性。 使用 時 action = Create Or Update Resource Group || deploymentScope != Resource Group。 預設值:false

將所選 Azure 端點的服務主體識別碼和金鑰新增為腳本的執行環境。 變數 $servicePrincipalId$servicePrincipalKey 可以覆寫參數,例如 -key $servicePrincipalKey


useWithoutJSON - 使用不含 JSON 的個別輸出值。已套用 Stringify
boolean. 選擇性。 使用 時 action = Create Or Update Resource Group || deploymentScope != Resource Group。 預設值:false

個別輸出值會透過 JSON 轉換。根據預設,Stringify。 如果您想要使用輸出值,因為它沒有透過 JSON 進行轉換。Stringify,啟用此選項。 如需詳細資訊,請參閱 此專案


工作控制選項

除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制選項和一般工作屬性

輸出變數

無。

備註

注意

當 Azure CLI 2.20.0 版 > 時,此工作支援 Bicep 檔案。

  • 已新增所有部署範圍的部署支援。
    • 已移除所有 VM 相關動作。

規格需求

需求 描述
管線類型 YAML、傳統組建、傳統版本
在上執行 Agent、DeploymentGroup
要求
Capabilities 此工作不符合作業中後續工作的任何需求。
命令限制 任何
可設定變數 任何
代理程式版本 2.119.1 或更新版本
工作類別 部署