AzureResourceManagerTemplateDeployment@3 - ARM 範本部署 v3 工作
使用此工作將 Azure Resource Manager (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 Group
、Subscription
、Resource Group
。 預設值:Resource Group
。
azureResourceManagerConnection
-
Azure Resource Manager 連線
輸入別名:ConnectedServiceName
。
string
。 必填。
指定具有所選部署範圍的存取權的 Azure Resource Manager 服務連線。
subscriptionId
-
訂用帳戶
輸入別名:subscriptionName
。
string
。
deploymentScope != Management Group
時為必要項。
指定 Azure 訂用帳戶。
重要
指定的值必須是訂用帳戶標識碼,而不是訂用帳戶名稱。
action
-
動作
string
。
deploymentScope = Resource Group
時為必要項。 允許的值:Create Or Update Resource Group
、DeleteRG
(刪除資源群組)。 預設值: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 artifact
、URL of the file
。 預設值:Linked artifact
。
範本和參數 JSON 檔案的位置。 如果檔案是連結程式代碼/組建成品的一部分,請選擇 連結成品。 針對連結的成品,您也可以指定 Bicep 檔案的路徑。 如果 JSON 檔案位於任何可公開存取的 HTTP/https URL,請選擇檔案 URL。 若要使用儲存在私人記憶體帳戶中的檔案,請在範本的 URL 中擷取並包含共用存取簽章 (SAS) 令牌。 範例:<blob_storage_url>/template.json?
。 若要將參數檔案上傳至記憶體帳戶併產生 SAS 令牌,您可以使用 Azure 檔案複製工作,或使用 PowerShell 或 Azure 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 檔案複製 工作,或使用 powerShell 或 Azure 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 檔案複製 工作,或使用 powerShell 或 Azure CLI遵循 步驟。
若要在方格中檢視範本參數,請按兩下 [覆寫範本參數] 文字框旁的 [...
]。 此功能要求在來源啟用 CORS 規則。 如果範本位於 Azure 記憶體 Blob 中,請參閱 跨原始來源資源分享 啟用 CORS。
csmFile
-
範本
string
。
(action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact
時為必要項。
指定指向 Azure Resource Manager 樣本的路徑或模式。 深入瞭解 Azure Resource Manager 範本。 若要立即開始使用,請使用此範例範本 。 當 Azure CLI 版本 > 2.20.0 時,支援 Bicep 檔案。
csmParametersFile
-
範本參數
string
。 自選。
(action = Create Or Update Resource Group || deploymentScope != Resource Group) && templateLocation = Linked artifact
時使用 。
指定 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
、Complete
、Validation
(僅限驗證)。 預設值:Incremental
。
Incremental
模式會將部署當做資源群組的累加式更新來處理。 它會保留存在於資源群組中但未指定於範本中的未變更資源。
Complete
模式會刪除不在範本中的資源。 完整模式所需的時間比累加模式還多。 如果工作逾時,請考慮增加逾時或變更為 Incremental
模式。
警告
完整模式將會刪除範本中未指定之資源群組中的所有現有資源。 請檢閱您要部署的資源群組是否不包含範本中未指定的任何必要資源。
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 端點的服務主體識別碼和金鑰新增為腳本的執行環境。 變數 $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 |
需求 | 沒有 |
功能 | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
Settable 變數 | 任何 |
代理程式版本 | 2.119.1 或更高版本 |
工作類別 | 部署 |