PackerBuild@1 - 컴퓨터 이미지 v1 작업 빌드
이 작업을 사용하여 Azure 가상 머신 확장 집합 배포에 사용할 수 있는 Packer를 사용하여 컴퓨터 이미지를 빌드합니다.
참고
이 작업은 워크플로 ID 페더레이션을 사용한 Azure Resource Manager 인증을 지원하지 않습니다.
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
입니다. 허용되는 값: (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), (Ubuntu 16.04-LTS), Canonical:UbuntuServer:16.04-LTS:linux
Canonical:UbuntuServer:18.04-LTS:linux
(Ubuntuuntu 18.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), (Debian 7), credativ:Debian:7:linux
SUSE:openSUSE-Leap:42.2:linux
(openSUSE-Leap 42.2), (SLES 12-SP2), SUSE:SLES:11-SP4:linux
SUSE:SLES:12-SP2:linux
(SLES 11-SP4). MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
기본값은 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 Storage 계정을 사용하는 것입니다. 이 작업을 실행하기 전에 스토리지 계정에 패키지를 업로드합니다. 이 작업의 경우 스토리지 계정에서 필요한 패키지를 다운로드하는 스크립트가 포함된 패키지를 사용합니다.
deployScriptPath
- 배포 스크립트
string
. 필요한 경우 templateType = builtin
입니다.
패키지를 배포하는 Powershell 스크립트(Windows용) 또는 셸 스크립트(Linux용)에 대한 상대 경로를 지정합니다. 이 스크립트는 위에서 선택한 패키지 경로에 포함되어야 합니다. 미니매치 패턴을 지원합니다. 예제 경로: deploy/**/scripts/windows/deploy.ps1
.
deployScriptArguments
- 배포 스크립트 인수
string
. 선택 사항입니다. 를 사용하는 경우 templateType = builtin
를 사용합니다.
배포 스크립트에 전달할 인수를 지정합니다.
additionalBuilderParameters
- 추가 작성기 매개 변수
string
. 선택 사항입니다. 를 사용하는 경우 templateType = builtin
를 사용합니다. 기본값은 {"vm_size":"Standard_D3_v2"}
입니다.
자동 생성된 Packer 템플릿 모드에서 작업은 Azure Builder를 사용하여 Packer 템플릿을 만듭니다. 이 작성기는 컴퓨터 이미지를 생성하는 데 사용됩니다. Azure Builder에 키를 추가하여 생성된 Packer 템플릿을 사용자 지정할 수 있습니다. 예를 들어 CentOS 기본 이미지를 사용 중이고 를 실행sudo
하기 위해 tty가 필요한 경우 를 설정합니다ssh_tty=true
.
표에서 추가 매개 변수를 보거나 편집하려면 텍스트 상자 옆을 클릭합니다 …
.
skipTempFileCleanupDuringVMDeprovision
- 프로비전 해제 중 임시 파일 정리 건너뛰기
boolean
. 선택 사항입니다. 를 사용하는 경우 templateType = builtin
를 사용합니다. 기본값은 true
입니다.
VM의 프로비전 해제 중에 VM에 업로드된 임시 파일 정리를 건너뜁니다. Packer의 Azure Virtual Machine Image Builders에 대해 자세히 알아봅니다.
packerVersion
- Packer 버전
string
. 선택 사항입니다. 를 사용하는 경우 templateType = custom
를 사용합니다.
설치할 Packer 버전을 지정합니다. 사용자 지정 템플릿에서만 작동합니다.
imageUri
- 이미지 URL 또는 이름
string
.
관리되지 않는 VM 이미지의 생성된 컴퓨터 이미지 VHD URL 또는 관리되는 VM 이미지의 이미지 이름을 저장할 출력 변수의 이름을 지정합니다.
imageId
- Azure 리소스 ID
string
.
새로 만든 이미지의 Azure 리소스 ID를 저장할 출력 변수의 이름을 지정합니다. 관리되는 이미지에만 해당됩니다.
작업 제어 옵션
모든 작업에는 작업 입력 외에 제어 옵션이 있습니다. 자세한 내용은 컨트롤 옵션 및 일반적인 작업 속성을 참조하세요.
출력 변수
없음
설명
Packer를 사용하여 컴퓨터 이미지를 빌드하려면 이 작업을 사용합니다. 이 이미지는 Azure 가상 머신 확장 집합 배포에 사용할 수 있습니다.
참고
자세한 로그를 사용하도록 설정하려면 파이프라인>변수 편집>으로 이동한 다음 PACKER_LOG 새 변수를 추가하고 해당 값을 1로 설정합니다.
요구 사항
요구 사항 | Description |
---|---|
파이프라인 유형 | YAML, 클래식 빌드, 클래식 릴리스 |
실행 중 | 에이전트, DeploymentGroup |
요청 | 없음 |
Capabilities | 이 작업은 작업의 후속 작업에 대한 요구를 충족하지 않습니다. |
명령 제한 사항 | 모두 |
Settable 변수 | 모두 |
에이전트 버전 | 2.0.0 이상 |
작업 범주 | 배포 |