PackerBuild@1 - 建置機器映射 v1 工作
使用此工作來使用 Packer 建置機器映射,這可用於 Azure 虛擬機器擴展集部署。
注意
Syntax
# Build machine image v1
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@1
inputs:
templateType: 'builtin' # 'builtin' | 'custom'. Required. Packer template. Default: builtin.
#customTemplateLocation: # string. Required when templateType = custom. Packer template location.
#customTemplateParameters: '{}' # string. Optional. Use when templateType = custom. Template parameters. Default: {}.
# Azure Details
ConnectedServiceName: # string. Required when templateType = builtin. Azure subscription.
#isManagedImage: true # boolean. Optional. Use when templateType = builtin. Managed VM disk image. Default: true.
#managedImageName: # string. Required when isManagedImage = true && templateType = builtin. Managed VM Disk Image Name.
location: # string. Required when templateType = builtin. Storage location.
storageAccountName: # string. Required when templateType = builtin. Storage account.
azureResourceGroup: # string. Required when templateType = builtin. Resource group.
# Deployment Inputs
baseImageSource: 'default' # 'default' | 'customVhd'. Required when templateType = builtin. Base image source. Default: default.
#baseImage: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' # 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows' | 'Canonical:UbuntuServer:14.04.4-LTS:linux' | 'Canonical:UbuntuServer:16.04-LTS:linux' | 'Canonical:UbuntuServer:18.04-LTS:linux' | 'RedHat:RHEL:7.2:linux' | 'RedHat:RHEL:6.8:linux' | 'OpenLogic:CentOS:7.2:linux' | 'OpenLogic:CentOS:6.8:linux' | 'credativ:Debian:8:linux' | 'credativ:Debian:7:linux' | 'SUSE:openSUSE-Leap:42.2:linux' | 'SUSE:SLES:12-SP2:linux' | 'SUSE:SLES:11-SP4:linux'. Required when baseImageSource = default && templateType = builtin. Base image. Default: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.
#customImageUrl: # string. Required when baseImageSource = customVhd && templateType = builtin. Base image URL.
#customImageOSType: 'windows' # 'windows' | 'linux'. Required when baseImageSource = customVhd && templateType = builtin. Base image OS. Default: windows.
packagePath: # string. Required when templateType = builtin. Deployment Package.
deployScriptPath: # string. Required when templateType = builtin. Deployment script.
#deployScriptArguments: # string. Optional. Use when templateType = builtin. Deployment script arguments.
# Advanced
#additionalBuilderParameters: '{"vm_size":"Standard_D3_v2"}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {"vm_size":"Standard_D3_v2"}.
#skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
#packerVersion: # string. Optional. Use when templateType = custom. Packer Version.
# Output
#imageUri: # string. Image URL or Name.
#imageId: # string. Azure Resource Id.
# Build machine image v1
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@1
inputs:
templateType: 'builtin' # 'builtin' | 'custom'. Required. Packer template. Default: builtin.
#customTemplateLocation: # string. Required when templateType = custom. Packer template location.
#customTemplateParameters: '{}' # string. Optional. Use when templateType = custom. Template parameters. Default: {}.
# Azure Details
ConnectedServiceName: # string. Required when templateType = builtin. Azure subscription.
#isManagedImage: true # boolean. Optional. Use when templateType = builtin. Managed VM disk image. Default: true.
#managedImageName: # string. Required when isManagedImage = true && templateType = builtin. Managed VM Disk Image Name.
location: # string. Required when templateType = builtin. Storage location.
storageAccountName: # string. Required when templateType = builtin. Storage account.
azureResourceGroup: # string. Required when templateType = builtin. Resource group.
# Deployment Inputs
baseImageSource: 'default' # 'default' | 'customVhd'. Required when templateType = builtin. Base image source. Default: default.
#baseImage: 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' # 'MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows' | 'MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows' | 'Canonical:UbuntuServer:14.04.4-LTS:linux' | 'Canonical:UbuntuServer:16.04-LTS:linux' | 'RedHat:RHEL:7.2:linux' | 'RedHat:RHEL:6.8:linux' | 'OpenLogic:CentOS:7.2:linux' | 'OpenLogic:CentOS:6.8:linux' | 'credativ:Debian:8:linux' | 'credativ:Debian:7:linux' | 'SUSE:openSUSE-Leap:42.2:linux' | 'SUSE:SLES:12-SP2:linux' | 'SUSE:SLES:11-SP4:linux'. Required when baseImageSource = default && templateType = builtin. Base image. Default: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.
#customImageUrl: # string. Required when baseImageSource = customVhd && templateType = builtin. Base image URL.
#customImageOSType: 'windows' # 'windows' | 'linux'. Required when baseImageSource = customVhd && templateType = builtin. Base image OS. Default: windows.
packagePath: # string. Required when templateType = builtin. Deployment Package.
deployScriptPath: # string. Required when templateType = builtin. Deployment script.
#deployScriptArguments: # string. Optional. Use when templateType = builtin. Deployment script arguments.
# Advanced
#additionalBuilderParameters: '{"vm_size":"Standard_D3_v2"}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {"vm_size":"Standard_D3_v2"}.
#skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
# Output
#imageUri: # string. Image URL or Name.
#imageId: # string. Azure Resource Id.
輸入
templateType
- Packer 範本
string
. 必要。 允許的值: builtin
(自動產生的) , custom
(使用者提供) 。 預設值:builtin
。
指定工作自動產生 Packer 範本或使用您提供的自訂範本。
customTemplateLocation
- Packer 範本位置
string
. 當 templateType = custom
時為必要。
指定自訂使用者提供範本的路徑。
customTemplateParameters
- 範本參數
string
. 選擇性。 使用 時機 templateType = custom
。 預設值:{}
。
指定將傳遞至 Packer 以建置自訂範本的參數。 這應該對應至自訂範本中的區 variables
段。 例如,如果範本有名為 drop-location
的變數,請在這裡新增參數,其中包含名稱和 drop-location
您想要使用的值。 您也可以將值連結至發行變數。 若要在方格中檢視/編輯其他參數,請按一下 …
文字方塊旁的 。
ConnectedServiceName
- Azure 訂用帳戶
string
. 當 templateType = builtin
時為必要。
指定用於製作和儲存機器映射的 Azure Resource Manager訂用帳戶。
isManagedImage
- 受控 VM 磁片映射
boolean
. 選擇性。 使用 時機 templateType = builtin
。 預設值:true
。
檢查產生的映射是否應該是受控映射。
managedImageName
- 受控 VM 磁片映射名稱
string
. 當 isManagedImage = true && templateType = builtin
時為必要。
指定自動產生範本的受控磁片映射名稱。
location
- 儲存位置
string
. 當 templateType = builtin
時為必要。
指定儲存所建置機器映射的位置。 此位置也會用來建立暫存 VM,以便建置映射。
storageAccountName
- 儲存體帳戶
string
. 當 templateType = builtin
時為必要。
指定用來儲存所建置機器映射的儲存體帳戶。 此儲存體帳戶必須在選取的位置中預先存在。
azureResourceGroup
- 資源群組
string
. 當 templateType = builtin
時為必要。
指定包含所選儲存體帳戶的 Azure 資源群組。
baseImageSource
- 基底映射來源
string
. 當 templateType = builtin
時為必要。 允許的值: default
(資源庫) , customVhd
(自訂) 。 預設值:default
。
指定基底映射的來源。 您可以從策劃的 OS 映射資源庫中進行選擇,或提供自訂 VHD 映射的 URL。
注意
如果您已選取選項來建立受控映射,請核 Managed VM disk image
取選項,則應該只在這裡選擇 Gallery
選項。 Custom
不支援建立受控映射的來源。
baseImage
- 基底映射
string
. 當 baseImageSource = default && templateType = builtin
時為必要。 允許的值: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
(Windows 2012-R2-Datacenter) 、 MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows
(Windows 2016-Datacenter) 、 MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows
(Windows 2012-Datacenter) 、 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows
(Windows 2008-R2-SP1) 、 Canonical:UbuntuServer:14.04.4-LTS:linux
(Ubuntu 14.04.4-LTS) 、 Canonical:UbuntuServer:16.04-LTS:linux
(Ubuntu 16.04-LTS) 、 Canonical:UbuntuServer:18.04-LTS:linux
(Ubuntu 18.04-LTS) 、 RedHat:RHEL:7.2:linux
(RHEL 7.2) 、 RedHat:RHEL:6.8:linux
(RHEL 6.8) 、 (CentOS 7.2) 、 OpenLogic:CentOS:7.2:linux
OpenLogic:CentOS:6.8:linux
(CentOS 6.8) 、 (Debian 8) 、 credativ:Debian:8:linux
credativ:Debian:7:linux
(Debian 7) , SUSE:openSUSE-Leap:42.2:linux
(openSUSE-Leap 42.2) , SUSE:SLES:12-SP2:linux
(SLES 12-SP2) , SUSE:SLES:11-SP4:linux
(SLES 11-SP4) 。 預設值:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
。
從策劃的 OS 映射清單中選擇。 這會用於在擷取電腦映射之前,先安裝必要 () 和應用程式 () 。
baseImage
- 基底映射
string
. 當 baseImageSource = default && templateType = builtin
時為必要。 允許的值: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
(Windows 2012-R2-Datacenter) 、 MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows
(Windows 2016-Datacenter) 、 MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows
(Windows 2012-Datacenter) 、 MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows
(Windows 2008-R2-SP1) 、 Canonical:UbuntuServer:14.04.4-LTS:linux
(Ubuntu 14.04.4-LTS) 、 Canonical:UbuntuServer:16.04-LTS:linux
(Ubuntu 16.04-LTS) 、 RedHat:RHEL:7.2:linux
(RHEL 7.2) 、 RedHat:RHEL:6.8:linux
(RHEL 6.8) 、 OpenLogic:CentOS:7.2:linux
(CentOS 7.2) 、 OpenLogic:CentOS:6.8:linux
(CentOS 6.8) 、 credativ:Debian:8:linux
(Debian 8) 、 credativ:Debian:7:linux
(Debian 7) 、 SUSE:openSUSE-Leap:42.2:linux
(openSUSE-Leap 42.2) , SUSE:SLES:12-SP2:linux
(SLES 12-SP2) , SUSE:SLES:11-SP4:linux
(SLES 11-SP4) 。 預設值:MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
。
從策劃的 OS 映射清單中選擇。 這會用於在擷取電腦映射之前,先安裝必要 () 和應用程式 () 。
customImageUrl
- 基底映射 URL
string
. 當 baseImageSource = customVhd && templateType = builtin
時為必要。
指定基底映射的 URL。 這會用於在擷取電腦映射之前,先安裝必要 () 和應用程式 () 。
customImageOSType
- 基底映射 OS
string
. 當 baseImageSource = customVhd && templateType = builtin
時為必要。 允許值:windows
和 linux
。 預設值:windows
。
packagePath
- 部署套件
string
. 當 templateType = builtin
時為必要。
指定相對於 的部署套件目錄 $(System.DefaultWorkingDirectory)
路徑。 支援迷你配對模式。 範例路徑: FrontendWebApp/**/GalleryApp
注意
此套件將會複製到 Packer 所建立的暫存虛擬機器。 如果套件包含大量檔案和/或檔案大小非常大,上傳可能需要很長的時間 (可能需要數小時) 。 若要優化上傳時間,請參閱套件大小是否可以有意義地減少。 另一個替代方法是使用中繼 Azure 儲存體帳戶。 在執行這項工作之前,將套件上傳至儲存體帳戶。 針對這項工作,請使用包含腳本的套件,以從儲存體帳戶下載所需的套件。
deployScriptPath
- 部署腳本
string
. 當 templateType = builtin
時為必要。
指定適用于 Windows) 的 powershell 腳本 (的相對路徑,或部署套件的 Linux) 殼層腳本 (。 此腳本應該包含在上面選取的套件路徑中。 支援迷你配對模式。 範例路徑: deploy/**/scripts/windows/deploy.ps1
。
deployScriptArguments
- 部署腳本引數
string
. 選擇性。 使用 時機 templateType = builtin
。
指定要傳遞至部署腳本的引數。
additionalBuilderParameters
- 其他產生器參數
string
. 選擇性。 使用 時 templateType = builtin
。 預設值:{"vm_size":"Standard_D3_v2"}
。
在自動產生的 Packer 範本模式中,工作會使用 Azure 建立器建立 Packer 範本。 此產生器可用來產生電腦映射。 您可以將金鑰新增至 Azure 產生器,以自訂產生的 Packer 範本。 例如: ssh_tty=true
如果您使用的是 CentOS 基底映射,而且需要有 tty 才能執行 sudo
。
若要在方格中檢視/編輯其他參數,請按一下 …
文字方塊旁的 。
skipTempFileCleanupDuringVMDeprovision
- 在取消布建期間略過暫存檔清除
boolean
. 選擇性。 使用 時 templateType = builtin
。 預設值:true
。
在取消布建 VM 期間,會略過上傳至 VM 的暫存檔清除。 深入瞭解 Packer 中的 Azure 虛擬機器映射產生器。
packerVersion
- Packer 版本
string
. 選擇性。 使用 時 templateType = custom
。
指定要安裝的 Packer 版本。 這只適用于自訂範本。
imageUri
- 影像 URL 或名稱
string
.
指定輸出變數的名稱,以儲存未受控 VM 映射的產生的機器映射 VHD URL 或受控 VM 映射的映射名稱。
imageId
- Azure 資源識別碼
string
.
指定輸出變數的名稱,以儲存新建立映射的 Azure 資源識別碼。 這僅適用于受控映射。
工作控制選項
除了工作輸入之外,所有工作都有控制選項。 如需詳細資訊,請參閱 控制選項和一般工作屬性。
輸出變數
無。
備註
使用此工作來使用 Packer 建置電腦映射。 此映射可用於 Azure 虛擬機器擴展集部署。
注意
如果您想要啟用詳細的記錄,請流覽至[管線>編輯>變數],然後新增變數PACKER_LOG並將其值設定為 1。
規格需求
需求 | 描述 |
---|---|
管線類型 | YAML、傳統組建、傳統版本 |
在 上執行 | Agent、DeploymentGroup |
要求 | 無 |
Capabilities | 此工作不符合作業中後續工作的任何需求。 |
命令限制 | 任何 |
可設定變數 | 任何 |
代理程式版本 | 2.0.0 或更新版本 |
工作類別 | 部署 |