AzureResourceGroupDeployment@2 - Azure 資源群組部署 v2 工作
將 Azure Resource Manager (ARM) 樣本部署至資源群組並管理虛擬機。
將 Azure Resource Manager (ARM) 範本部署至資源群組。 您也可以啟動、停止、刪除和解除分配資源群組中的所有 虛擬機器 (VM) 。
Syntax
# 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 Resource Manager 樣本的路徑或模式。 深入瞭解 Azure Resource Manager 範本。 若要立即開始使用,請使用 此範例範本。
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
模式會刪除不在範本中的資源。 完整模式所花費的時間比累加模式還多。 如果工作逾時,請考慮增加逾時或變更為 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
- Team 專案
輸入別名: project
。 string
. 當 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && action = Create Or Update Resource Group || action = Select Resource Group
時為必要。
指定定義部署群組的 Team 專案。
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
。 範例: Role : Web
Azure 標籤會依原樣複製到代理程式電腦。
深入瞭解 如何使用 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 on Target Machines 工作。
只有在選取的動作為 Create
、 Update
或 Select
時才有效。
deploymentName
- 部署名稱
string
. 選擇性。 使用 時 action = Create Or Update Resource Group
。
指定要建立的資源組名。
deploymentOutputs
- 部署輸出
string
. 選擇性。 使用 時 action = Create Or Update Resource Group
。
提供輸出變數的名稱,其中包含字串格式目前部署物件的 output 區段。 ConvertFrom-Json
使用 PowerShell Cmdlet 來剖析 JSON 物件,並存取個別的輸出值。
addSpnToEnvironment
- 覆寫參數中的存取服務主體詳細數據
boolean
. 選擇性。 使用 時 action = Create Or Update Resource Group
。 預設值:false
。
將所選 Azure 端點的服務主體識別碼和金鑰新增為腳本的執行環境。 變數 $servicePrincipalId
和 $servicePrincipalKey
可以覆寫參數,例如 -key $servicePrincipalKey
。
useWithoutJSON
- 使用不含 JSON 的個別輸出值。已套用 Stringify
boolean
. 選擇性。 使用 時 action = Create Or Update Resource Group
。 預設值:false
。
個別輸出值會透過 JSON 轉換。根據預設,Stringify。 如果您想要使用輸出值,因為它沒有透過 JSON 進行轉換。Stringify,啟用此選項。 如需詳細資訊,請參閱 此專案。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制選項和一般工作屬性。
輸出變數
無。
備註
此工作有新版本可在 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 代理程式,您可以將 timeoutInMinutes 設定為 YAML 中的金鑰設定為 0 來增加逾時。 如需詳細資訊,請參閱在管線中指定作業。
入口網站部署
請參閱此檔,以瞭解如何識別錯誤是否來自 Azure 入口網站:使用 Azure Resource Manager 檢視部署歷程記錄。
如果是入口網站部署,請嘗試將ARM範本中的 「timeoutInMinutes」 設定為「0」。 如果未指定,則預設值是 60 分鐘。 0 可確保部署只要能夠成功即可執行。
這可能是因為系統中的暫時性問題而發生。 請留意 https://status.dev.azure.com/
,檢查 Azure Pipelines 服務是否有停機時間。
錯誤:Azure Resource Manager (ARM) 範本驗證失敗
此問題的主要原因是 ARM 範本中的參數無效,例如不支援的 SKU 或區域。 如果驗證失敗,請檢查錯誤訊息。 系統應該會為您指出無效的資源和參數。
此問題的原因也可能是多行字串。 Azure 資源群組部署工作目前不支援在 ARM 範本或參數 JSON 檔案中使用多行字串。
此外,請參閱本文,以瞭解ARM範本的結構 和語法:瞭解ARM範本的結構和語法。
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
可設定變數 | 任何 |
代理程式版本 | 2.119.1 或更新版本 |
工作類別 | 部署 |