PackerBuild@1 — задача сборки образа компьютера версии 1
Используйте эту задачу для создания образа компьютера с помощью Packer, который может использоваться для развертывания масштабируемого набора виртуальных машин Azure.
Синтаксис
# 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.
Входные данные
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
-
образ диска управляемой виртуальной машины
boolean
. Необязательно. Используется при templateType = builtin
. Значение по умолчанию: true
.
Проверяет, должен ли созданный образ быть управляемым.
managedImageName
-
имя образа управляемого диска виртуальной машины
string
. Требуется, если isManagedImage = true && templateType = builtin
.
Указывает имя образа управляемого диска для автоматически созданных шаблонов.
расположение хранилища location
-
string
. Требуется, если templateType = builtin
.
Указывает расположение для хранения созданного образа компьютера. Это расположение также будет использоваться для создания временной виртуальной машины для создания образа.
учетной записи хранения storageAccountName
-
string
. Требуется, если templateType = builtin
.
Указывает учетную запись хранения для хранения встроенного образа компьютера. Эта учетная запись хранения должна быть предварительно существующей в выбранном расположении.
группы ресурсов azureResourceGroup
-
string
. Требуется, если templateType = builtin
.
Указывает группу ресурсов Azure, содержащую выбранную учетную запись хранения.
источника базового образа baseImageSource
-
string
. Требуется, если templateType = builtin
. Допустимые значения: default
(коллекция), customVhd
(custom). Значение по умолчанию: default
.
Указывает источник базового образа. Вы можете выбрать из курированной коллекции образов ОС или указать URL-адрес пользовательского образа VHD.
Примечание.
Если вы выбрали параметр для создания управляемого образа, проверив параметр 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), OpenLogic:CentOS:7.2:linux
(CentOS 7.2), OpenLogic:CentOS:6.8:linux
(CentOS 6.8), credativ:Debian:8:linux
(Debian 2) 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
.
Выбирается из списка проверенных образов ОС. Это будет использоваться для установки предварительных требований и приложений перед записью образа компьютера.
URL-адрес базового образа customImageUrl
-
string
. Требуется, если baseImageSource = customVhd && templateType = builtin
.
Указывает URL-адрес базового образа. Это будет использоваться для установки предварительных требований и приложений перед записью образа компьютера.
базовой ос образа customImageOSType
-
string
. Требуется, если baseImageSource = customVhd && templateType = builtin
. Допустимые значения: windows
, linux
. Значение по умолчанию: windows
.
пакета развертывания packagePath
-
string
. Требуется, если templateType = builtin
.
Указывает путь к каталогу пакета развертывания относительно $(System.DefaultWorkingDirectory)
. Поддерживает шаблон миниматча. Пример пути: FrontendWebApp/**/GalleryApp
Примечание.
Этот пакет будет скопирован на временную виртуальную машину, которая создает Packer. Если пакет содержит большое количество файлов и (или) файлы очень большого размера, отправка может занять много времени (возможно, в течение нескольких часов). Чтобы оптимизировать время отправки, обратите внимание, можно ли уменьшить размер пакета. Другой альтернативой является использование промежуточной учетной записи хранения Azure. Перед выполнением этой задачи перед выполнением этой задачи отправьте пакет в учетную запись хранения. Для этой задачи используйте пакет, содержащий скрипт, который скачивает необходимый пакет из учетной записи хранения.
скрипта развертывания 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 задача создает шаблон Packer с помощью построителя Azure. Этот построитель используется для создания образа компьютера. Вы можете добавить ключи в построитель Azure, чтобы настроить созданный шаблон Packer. Например: настройка ssh_tty=true
, если используется базовый образ CentOS, и вам нужно иметь tty для запуска sudo
.
Чтобы просмотреть или изменить дополнительные параметры в сетке, щелкните …
рядом с текстовым полем.
skipTempFileCleanupDuringVMDeprovision
-
Пропустить временную очистку файла во время отмены
boolean
. Необязательно. Используется при templateType = builtin
. Значение по умолчанию: true
.
Во время отмены подготовки виртуальной машины пропускает очистку временных файлов, отправленных на виртуальную машину. Дополнительные сведения о построителя образов виртуальных машин Azure см. вPacker.
packerVersion
-
версии Packer
string
. Необязательно. Используется при templateType = custom
.
Указывает версию Packer для установки. Это будет работать только с пользовательскими шаблонами.
imageUri
-
URL-адрес изображения или имя
string
.
Указывает имя выходной переменной, которая будет хранить URL-адрес виртуального жесткого жесткого диска созданного образа компьютера для образа виртуальной машины, не управляемого виртуального машины, или имя образа для управляемого образа виртуальной машины.
imageId
-
идентификатор ресурса Azure
string
.
Указывает имя выходной переменной, которая будет хранить идентификатор ресурса Azure для созданного образа. Это только для управляемых образов.
Параметры управления задачами
Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задач.
Выходные переменные
Нет.
Замечания
Используйте эту задачу для создания образа компьютера с помощью Packer. Этот образ можно использовать для развертывания масштабируемого набора виртуальных машин Azure.
Примечание.
Если вы хотите включить подробные журналы, перейдите к разделу Конвейеры>изменить>переменные, а затем добавьте новую переменную PACKER_LOG и задайте для нее значение 1.
Требования
Требование | Описание |
---|---|
Типы конвейеров | YAML, классическая сборка, классический выпуск |
Выполняется в | Агент, DeploymentGroup |
требования | Нет |
возможностей | Эта задача не удовлетворяет требованиям к последующим задачам в задании. |
ограничения команд | Любое |
переменные settable | Любое |
Версия агента | 2.0.0 или более поздней версии |
Категория задач | Внедрять |