共用方式為


AzureResourceGroupDeployment@2 - Azure 資源群組部署 v2 工作

將 Azure Resource Manager (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 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). 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 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). 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 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Azure Pipelines/TFS service connection. 
    #teamProject: # string. Alias: project. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Team project. 
    #deploymentGroupName: # string. Required when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Deployment Group. 
    #copyAzureVMTags: true # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Copy Azure VM tags to agents. Default: true.
    #runAgentServiceAsUser: false # boolean. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent. Run agent service as a user. Default: false.
    #userName: # string. Required when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. User name. 
    #password: # string. Optional. Use when enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true. Password. 
    #outputVariable: # string. Optional. Use when (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None). VM details for WinRM. 
  # Outputs
    #deploymentOutputs: # string. Optional. Use when action = Create Or Update Resource Group. Deployment outputs.

輸入

azureSubscription - Azure 訂用帳戶
輸入別名:ConnectedServiceNamestring。 必填。

選取包含部署 Azure 訂用帳戶的服務連線。


action - 動作
string。 必填。 允許的值:Create Or Update Resource GroupSelect Resource Group(設定虛擬機部署選項)、Start(啟動虛擬機)、Stop(停止虛擬機)、StopWithDeallocate(停止和解除分配虛擬機)、Restart(重新啟動虛擬機)、Delete(刪除虛擬機)、DeleteRG(刪除資源群組)。 預設值:Create Or Update Resource Group

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


resourceGroupName - 資源群組
string。 必填。

提供資源群組的名稱。


location - 位置
stringaction = Create Or Update Resource Group時為必要項。

要部署資源群組的位置。 如果資源群組已存在於訂用帳戶中,則會忽略此值。


templateLocation - 範本位置
stringaction = Create Or Update Resource Group時為必要項。 允許的值:Linked artifactURL of the file。 預設值:Linked artifact

選取 連結成品 或檔案的 URL


csmFileLink - 範本連結
stringtemplateLocation = 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 檔案複製 工作,或使用 PowerShellAzure CLI遵循步驟。

若要在方格中檢視範本參數,請按兩下 [覆寫範本參數] 文字框旁的 [...]。 此功能要求在來源啟用 CORS 規則。 如果範本位於 Azure 記憶體 Blob 中,請參閱 瞭解 CORS 要求 啟用 CORS。


csmFile - 範本
stringtemplateLocation = 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 檔案複製 工作,或使用 PowerShellAzure 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 - 部署模式
stringaction = Create Or Update Resource Group時為必要項。 允許的值:IncrementalCompleteValidation(僅限驗證)。 預設值:Incremental

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

Complete 模式會刪除不在範本中的資源。 完整模式所需的時間比累加模式還多。 如果工作逾時,請考慮增加逾時或變更為 Incremental 模式。

警告

完整模式將會刪除範本中未指定之資源群組中的所有現有資源。 請檢閱您要部署的資源群組是否不包含範本中未指定的任何必要資源。

Validate 模式可讓您在建立實際資源之前,先找出範本的問題。

注意

Validate 模式一律會建立資源群組,即使未部署任何資源也一樣。

深入瞭解 部署模式。


enableDeploymentPrerequisites - 啟用必要條件
string。 自選。 action = Create Or Update Resource Group || action = Select Resource Group時使用 。 允許的值:NoneConfigureVMwithWinRM(使用 WinRM 代理程式設定)、ConfigureVMWithDGAgent(使用部署群組代理程式進行設定)。 預設值:None

僅適用於資源群組包含虛擬機時。

選擇 [部署群組] 選項會在每部虛擬機上設定部署群組代理程式。

選取 WinRM 選項會使用自我簽署憑證,透過埠 5986 上的 HTTPS 通訊協定設定 Windows 遠端管理 (WinRM) 接聽程式。 在 Azure 機器上執行部署作業需要此設定。 如果目標虛擬機是由負載平衡器所支援,請確定已針對目標埠 (5986) 設定輸入 NAT 規則。


teamServicesConnection - Azure Pipelines 服務連線
輸入別名:deploymentGroupEndpointstring(action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent時為必要項。

指定要連線到 Azure DevOps 組織或集合以進行代理程式註冊的服務連線。

您可以使用 +New 建立服務連線,然後選取 Token-based authentication。 您需要 個人存取令牌(PAT) 來設定服務連線。 按兩下 [Manage] 以更新服務連線詳細數據。


teamServicesConnection - Azure Pipelines/TFS 服務連線
輸入別名:deploymentGroupEndpointstring(action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent時為必要項。

指定要連線到 Azure DevOps 組織或集合以進行代理程式註冊的服務連線。

您可以使用 +New 建立服務連線,然後選取 Token-based authentication。 您需要 個人存取令牌(PAT) 來設定服務連線。 按兩下 [Manage] 以更新服務連線詳細數據。


teamProject - Team 專案
輸入別名:projectstring(action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent時為必要項。

指定定義部署群組的 Team 專案。


deploymentGroupName - 部署群組
string(action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent時為必要項。

指定要註冊代理程式的部署群組。 深入瞭解 部署群組。


copyAzureVMTags - 將 Azure VM 標籤複製到代理程式
boolean。 自選。 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent時使用 。 預設值:true

選擇 Azure VM 上設定的標籤是否需要複製到對應的部署群組代理程式。

根據預設,所有 Azure 標籤都會以下欄格式複製:Key: Value。 範例:Role : Web Azure 標籤會 as-is 複製到代理程式電腦。

深入瞭解如何使用 Azure 資源的標籤


以使用者身分執行代理程式服務 runAgentServiceAsUser -
boolean。 自選。 (action = Create Or Update Resource Group || action = Select Resource Group) && enableDeploymentPrerequisites = ConfigureVMWithDGAgent時使用 。 預設值:false

如果值設定為 true,則以預設使用者以外的使用者身分執行代理程式服務。

默認使用者會在 Windows 中 NT AUTHORITY\\SYSTEM,並在 Linux 中 root


userName - 用戶名稱
stringenableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true時為必要項。

在虛擬機上執行代理程式服務的用戶名稱。

針對網域使用者,將值指定為 domain\usernameusername@domain.com。 針對本機使用者,指定 username

假設資源群組中的所有虛擬機上分別存在相同網域使用者或具有相同名稱的本機使用者。


password - 密碼
string。 自選。 enableDeploymentPrerequisites = ConfigureVMWithDGAgent && runAgentServiceAsUser = true時使用 。

使用者在 Windows VM 上執行代理程式服務的密碼。

假設所有 VM 上指定用戶的密碼都相同。

它可以接受建置或發行管線中定義的變數,$(passwordVariable)。 您可以將變數標示為 secret 來保護它。

針對 Linux VM,不需要密碼,將會忽略。


outputVariable - WinRM 的 VM 詳細數據
string。 自選。 (action = Create Or Update Resource Group || action = Select Resource Group) && (enableDeploymentPrerequisites = ConfigureVMwithWinRM || enableDeploymentPrerequisites = None)時使用 。

選取現有資源群組時為必要專案。 提供資源群組變數的名稱。 變數可作為 $(variableName) 來參考後續工作中的資源群組,例如在目標機器上部署應用程式的PowerShell中。

只有在選取的動作 CreateUpdateSelect時才有效。


deploymentName - 部署名稱
string。 自選。 action = Create Or Update Resource Group時使用 。

指定要建立的資源組名。


deploymentOutputs - 部署輸出
string。 自選。 action = Create Or Update Resource Group時使用 。

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


addSpnToEnvironment - 覆寫參數中的 Access 服務主體詳細數據
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
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.119.1 或更高版本
工作類別 部署