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 訂用帳戶
輸入別名:ConnectedServiceName
。
string
。 必填。
指定擴展集的 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
。 必填。 允許的值:Windows
、Linux
。
指定 VM 擴充集的作業系統類型。
imageUrl
-
影像 URL
string
。
action = 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 擴充功能執行的腳本。 此腳本可以叫用目錄中的其他腳本,並使用下列傳遞的自變數來叫用。
搭配這類自變數,此腳本可用來執行命令。
例如:
-
Update-DatabaseConnectionStrings.ps1 -clusterType dev -user $(dbUser) -password $(dbUserPwd)
更新 Web 應用程式web.config
中的連接字串。 -
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 或更新 |
工作類別 | 部署 |