共用方式為


AzureVmssDeployment@0 - Azure VM 擴展集部署 v0 工作

此工作會部署虛擬機擴展集映像。

語法

# Azure VM scale set deployment v0
# Deploy a virtual machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.
# Azure VM scale set Deployment v0
# Deploy Virtual Machine scale set image.
- task: AzureVmssDeployment@0
  inputs:
  # Azure Details
    azureSubscription: # string. Alias: ConnectedServiceName. Required. Azure subscription. 
    action: 'Update image' # 'Update image' | 'Configure application startup'. Required. Action. Default: Update image.
    vmssName: # string. Required. Virtual Machine scale set name. 
    vmssOsType: # 'Windows' | 'Linux'. Required. OS type. 
  # Image Details
    #imageUrl: # string. Required when action = Update image || action = UpdateImage. Image URL. 
  # Configure start-up
    #customScriptsDirectory: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Custom script directory. 
    #customScript: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Command. 
    #customScriptArguments: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Arguments. 
    #customScriptsStorageAccount: # string. Optional. Use when action = Configure application startup || action = Update image || action = UpdateImage. Azure storage account where custom scripts will be uploaded. 
  # Advanced
    #skipArchivingCustomScripts: false # boolean. Skip Archiving custom scripts. Default: false.

輸入

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

指定擴展集的 Azure Resource Manager 訂用帳戶。


action - 動作
string。 必填。 允許的值:Update image(使用映射更新 VM 擴展集),Configure application startup(在 VM 擴展集上執行自定義腳本 VM 擴充功能)。 預設值:Update image

使用 VHD 映像和/或使用自定義腳本 VM 擴充功能執行部署/安裝腳本,更新所選方法的 VM 擴展集。

VHD 映射方法 較適合快速調整和進行復原。 使用自定義映像建立 VM 擴展集時,VHD 映像可以更新它。 如果使用 Azure 中可用的平臺/資源庫映像來建立 VM 擴展集,更新將會失敗。

自定義文本 VM 擴充方法 適用於部署後設定、軟體安裝或任何其他設定/管理工作。 自定義腳本 VM 擴充方法可用於使用自訂映像或平臺/資源庫映像所建立的 VM 擴展集。


vmssName - 虛擬機擴展集名稱
string。 必填。

指定要更新的 VM 調整設定名稱。 使用 VHD 映像或自定義腳本 VM 擴充功能。


vmssOsType - OS 類型
string。 必填。 允許的值:WindowsLinux

指定 VM 擴充集的作業系統類型。


imageUrl - 影像 URL
stringaction = Update image || action = UpdateImage時為必要項。

指定 VHD 映像的 URL。 如果是 Azure 記憶體 Blob URL,記憶體帳戶位置會與擴展集位置相同。


customScriptsDirectory - 自定義文本目錄
string。 自選。 action = Configure application startup || action = Update image || action = UpdateImage時使用 。

自選。 包含使用自定義文稿 VM 擴充功能執行之自定義文稿之目錄的路徑。 擴充方法適用於部署後設定、應用程式/軟體安裝或任何其他應用程式組態/管理工作。 例如,腳本可以設定應用程式所使用的計算機層級環境變數,例如資料庫連接字串。


customScript - 命令
string。 自選。 action = Configure application startup || action = Update image || action = UpdateImage時使用 。

自選。 使用自定義腳本 VM 擴充功能執行的腳本。 此腳本可以叫用目錄中的其他腳本,並使用下列傳遞的自變數來叫用。
搭配這類自變數,此腳本可用來執行命令。

例如:

  1. Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd) 更新 Web 應用程式 web.config 中的連接字串。
  2. install-secrets.sh --key-vault-type prod -key serviceprincipalkey 會建立包含服務主體金鑰的加密檔案。

customScriptArguments - 自變數
string。 自選。 action = Configure application startup || action = Update image || action = UpdateImage時使用 。

自選。 自訂腳本將會使用傳遞的自變數來叫用。 您可以使用組建/發行變數,讓您輕鬆使用秘密。


customScriptsStorageAccount - 將上傳自定義腳本的 Azure 記憶體帳戶
string。 自選。 action = Configure application startup || action = Update image || action = UpdateImage時使用 。

自選。 自定義腳本擴充功能會在 VM 擴展集中的每個虛擬機上下載並執行提供的腳本。 這些文稿會儲存於此處指定的預先存在的ARM記憶體帳戶中。


skipArchivingCustomScripts - 略過封存自定義腳本
boolean。 預設值:false

自選。 根據預設,此工作會建立包含自定義腳本之目錄的壓縮封存。 這可改善上傳至 Azure 記憶體時的效能和可靠性。 如果未選取,則不會完成封存,而且會個別上傳所有檔案。


工作控制選項

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

輸出變數

沒有。

言論

使用此工作來部署虛擬機擴展集映像。

腳本執行會回報為成功,但不會更新 VMSS 實例

擴展集具有升級原則,可決定 VM 如何以最新的擴展集模型 up-to-date,如果升級原則設定為手動,您必須手動升級每個 VM。 如需詳細資訊,請參閱 如何使用最新的擴展集模型將 VM up-to-date。 您可以變更更新原則,或手動升級每個 VM。 例如,若要將原則升級為 Automatic,請使用下列 Az CLI 命令:az vmss update --set upgradePolicy.mode=Automatic -g <resource group name> -n <vmss name>

錯誤:「許可權遭拒:腳本無法執行」

如果您嘗試執行自定義腳本,但腳本不是可執行的,就會發生此問題。

若要解決此問題,請先確定 customScript 輸入在腳本名稱 'test.sh'之前沒有 ./ 或其他任何專案:

    customScript: 'test.sh'

接下來,請嘗試在虛擬機擴展集工作之前新增命令行工作:

    - task: CmdLine@2
      inputs:
        script: 'chmod 777 $(System.DefaultWorkingDirectory)/test.sh' 

要求

要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.209.0 或更新
工作類別 部署
要求 描述
管線類型 YAML、傳統組建、傳統版本
執行於 Agent、DeploymentGroup
需求 沒有
功能 此工作不符合作業中後續工作的任何需求。
命令限制 任何
Settable 變數 任何
代理程式版本 2.0.0 或更新
工作類別 部署