Поделиться через


PackerBuild@0 — задача сборки образа компьютера версии 0

Эта задача предназначена для создания образа компьютера с помощью Packer, который можно использовать для развертывания масштабируемого набора виртуальных машин Azure.

Синтаксис

# Build machine image v0
# Build a machine image using Packer, which may be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@0
  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. 
    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: '{}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {}.
    #skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
  # Output
    #imageUri: # string. Image URL.
# Build Machine Image v0
# Build machine image using Packer. This image can be used for Azure Virtual machine scale set deployment.
- task: PackerBuild@0
  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. 
    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: '{}' # string. Optional. Use when templateType = builtin. Additional Builder parameters. Default: {}.
    #skipTempFileCleanupDuringVMDeprovision: true # boolean. Optional. Use when templateType = builtin. Skip temporary file cleanup during deprovision. Default: true.
  # Output
    #imageUri: # string. Image URL.

Входные данные

templateType - Шаблон упаковщика
string. Обязательный. Допустимые значения: builtin (автоматическое создание), custom (предоставлено пользователем). Значение по умолчанию: builtin.

Указывает, должна ли задача автоматически создавать шаблон Упаковщика или использовать предоставленный вами пользовательский шаблон.


customTemplateLocation - Расположение шаблона упаковщика
string. Требуется при .templateType = custom

Указывает путь к пользовательскому шаблону.


customTemplateParameters - Параметры шаблона
string. Необязательный элемент. Используйте при templateType = custom. Значение по умолчанию: {}.

Указывает параметры, которые будут переданы в Packer для создания пользовательского шаблона. Он должен соответствовать разделу в пользовательском variables шаблоне. Например, если шаблон содержит переменную с именем drop-location, добавьте сюда параметр с именем drop-location и значением, которое вы хотите использовать. Вы также можете связать значение с переменной выпуска. Чтобы просмотреть или изменить дополнительные параметры в сетке , щелкните рядом с текстовым полем.


ConnectedServiceName - Подписка Azure
string. Требуется при .templateType = builtin

Указывает подписку Azure Resource Manager для создания и хранения образа компьютера.


location - Расположение хранилища
string. Требуется при .templateType = builtin

Указывает расположение для хранения созданного образа компьютера. Это расположение также будет использоваться для создания временной виртуальной машины для создания образа.


storageAccountName - Учетная запись хранения
string. Требуется при .templateType = builtin

Указывает учетную запись хранения для хранения созданного образа компьютера. Эта учетная запись хранения должна быть предварительно существующей в выбранном расположении.


azureResourceGroup - Группа ресурсов
string. Требуется при .templateType = builtin

Указывает группу ресурсов Azure, содержащую выбранную учетную запись хранения.


baseImageSource - Базовый источник образа
string. Требуется при .templateType = builtin Допустимые значения: default (коллекция), customVhd (настраиваемые). Значение по умолчанию: default.

Указывает источник базового образа. Вы можете выбрать из курируемой коллекции образов ОС или указать URL-адрес пользовательского образа.


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.

Выбирает из курированного списка образов ОС. Используется для установки необходимых компонентов и приложений перед записью образа компьютера.


customImageUrl - URL-адрес базового образа
string. Требуется при .baseImageSource = customVhd && templateType = builtin

Указывает URL-адрес базового образа. Используется для установки необходимых компонентов и приложений перед записью образа компьютера.


customImageOSType - ОС базового образа
string. Требуется при .baseImageSource = customVhd && templateType = builtin Допустимые значения: windows, linux. Значение по умолчанию: windows.


packagePath - Пакет развертывания
string. Требуется при .templateType = builtin

Указывает путь к каталогу пакета развертывания относительно $(System.DefaultWorkingDirectory). Поддерживает шаблон мини-сопоставления. Пример пути: FrontendWebApp/**/GalleryApp.


deployScriptPath - Сценарий развертывания
string. Требуется при .templateType = builtin

Указывает относительный путь к скрипту PowerShell (для Windows) или скрипту оболочки (для Linux), который развертывает пакет. Этот скрипт должен содержаться в выбранном выше пути к пакету. Поддерживает шаблон мини-сопоставления. Пример пути: deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - Аргументы скрипта развертывания
string. Необязательный элемент. Используйте при templateType = builtin.

Указывает аргументы, передаваемые в скрипт развертывания.


additionalBuilderParameters - Дополнительные параметры построителя
string. Необязательный элемент. Используйте при templateType = builtin. Значение по умолчанию: {}.

В автоматически созданном режиме шаблона Packer задача создает шаблон Packer с помощью конструктора Azure. Этот построитель используется для создания образа компьютера. Вы можете добавить ключи в построитель Azure, чтобы настроить созданный шаблон Packer. Например, если ssh_tty=true вы используете базовый образ CentOS, и вам потребуется tty для запуска sudo.

Чтобы просмотреть или изменить дополнительные параметры в сетке , щелкните рядом с текстовым полем.


skipTempFileCleanupDuringVMDeprovision - Пропуск временной очистки файлов во время отзыва
boolean. Необязательный элемент. Используйте при templateType = builtin. Значение по умолчанию: true.

Во время отзыва виртуальной машины пропускает очистку временных файлов, отправленных на виртуальную машину. Дополнительные сведения см. в статье Конструкторы образов виртуальных машин Azure.


imageUri - URL-адрес изображения
string.

Указывает имя выходной переменной, в которой хранится СОЗДАННЫЙ URL-адрес образа компьютера.


Параметры управления задачами

Помимо входных данных, все задачи имеют параметры управления. Дополнительные сведения см. в разделе Параметры управления и общие свойства задачи.

Выходные переменные

Нет.

Remarks

Используйте эту задачу для создания образа компьютера с помощью Packer. Этот образ можно использовать для развертывания масштабируемого набора виртуальных машин Azure.

Примечание

Если вы хотите включить подробные журналы, перейдите в разделИзменение>переменныхконвейеров>, а затем добавьте новую переменную PACKER_LOG и задайте для нее значение 1.

Требования

Требование Описание
Типы конвейеров YAML, классическая сборка, классический выпуск
Выполняется в Агент, DeploymentGroup
Требования Нет
Capabilities Эта задача не удовлетворяет требованиям для последующих задач в задании.
Ограничения команд Любой
Устанавливаемые переменные Любой
Версия агента 2.0.0 или более поздней версии
Категория задач Развертывание