PackerBuild@1: tarea Compilar imagen de máquina v1
Use esta tarea para compilar una imagen de máquina mediante Packer, que se puede usar para la implementación del conjunto de escalado de máquinas virtuales de Azure.
Nota
Esta tarea no admite la autenticación de Azure Resource Manager con la federación de identidades de flujo de trabajo.
Sintaxis
# 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.
Entradas
templateType
- Plantilla de Packer
string
. Obligatorio. Valores permitidos: builtin
(generado automáticamente), custom
(proporcionado por el usuario). Valor predeterminado: builtin
.
Especifica si la tarea genera automáticamente una plantilla packer o usa una plantilla personalizada proporcionada por usted.
customTemplateLocation
- Ubicación de la plantilla de Packer
string
. Necesario cuando templateType = custom
.
Especifica la ruta de acceso a una plantilla personalizada proporcionada por el usuario.
customTemplateParameters
- Parámetros de plantilla
string
. Opcional. Use cuando templateType = custom
. Valor predeterminado: {}
.
Especifica los parámetros que se pasarán al Packer para crear una plantilla personalizada. Esto debe asignarse a una variables
sección de la plantilla personalizada. Por ejemplo, si la plantilla tiene una variable denominada drop-location
, agregue un parámetro aquí con el nombre drop-location
y un valor que quiera usar. También puede vincular el valor a una variable de versión. Para ver o editar los parámetros adicionales de una cuadrícula, haga clic en junto …
al cuadro de texto.
ConnectedServiceName
- Suscripción de Azure
string
. Necesario cuando templateType = builtin
.
Especifica la suscripción de Azure Resource Manager para hornear y almacenar la imagen de la máquina.
isManagedImage
- Imagen de disco de máquina virtual administrada
boolean
. Opcional. Use cuando templateType = builtin
. Valor predeterminado: true
.
Comprueba si la imagen generada debe ser una imagen administrada.
managedImageName
- Nombre de la imagen de disco de máquina virtual administrada
string
. Necesario cuando isManagedImage = true && templateType = builtin
.
Especifica el nombre de la imagen de disco administrado para las plantillas generadas automáticamente.
location
- Ubicación de almacenamiento
string
. Necesario cuando templateType = builtin
.
Especifica la ubicación para almacenar la imagen de máquina compilada. Esta ubicación también se usará para crear una máquina virtual temporal con el fin de crear una imagen.
storageAccountName
- Cuenta de almacenamiento
string
. Necesario cuando templateType = builtin
.
Especifica la cuenta de almacenamiento para almacenar la imagen de máquina compilada. Esta cuenta de almacenamiento debe existir previamente en la ubicación seleccionada.
azureResourceGroup
- Grupo de recursos
string
. Necesario cuando templateType = builtin
.
Especifica el grupo de recursos de Azure que contiene la cuenta de almacenamiento seleccionada.
baseImageSource
- Origen de la imagen base
string
. Necesario cuando templateType = builtin
. Valores permitidos: default
(Galería), customVhd
(Personalizado). Valor predeterminado: default
.
Especifica el origen de la imagen base. Puede elegir entre una galería seleccionada de imágenes del sistema operativo o proporcionar una dirección URL de la imagen de disco duro virtual personalizada.
Nota
Si ha seleccionado la opción para crear una imagen administrada comprobando la Managed VM disk image
opción , solo debe elegir la Gallery
opción aquí. Custom
source no se admite para crear una imagen administrada.
baseImage
- Imagen base
string
. Necesario cuando baseImageSource = default && templateType = builtin
. Valores permitidos: (Windows 2012-R2-Datacenter), MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows
(Windows 2016-Datacenter), (Windows 2012-Datacenter), (Windows 2008-R2-SP1), Canonical:UbuntuServer:14.04.4-LTS:linux
(Ubuntu 14.04.4-LTS), MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows
Canonical:UbuntuServer:16.04-LTS:linux
(Ubuntu 16.04-LTS), MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows
(Ubuntu 18.04-LTS), Canonical:UbuntuServer:18.04-LTS:linux
(Ubuntu 18.004-LTS), RedHat:RHEL:7.2:linux
(RHEL 7.2), RedHat:RHEL:6.8:linux
(RHEL 6.8), (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), OpenLogic:CentOS:7.2:linux
SUSE:SLES:12-SP2:linux
(SLES 12-SP2), SUSE:SLES:11-SP4:linux
(SLES 11-SP4). MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
Valor predeterminado: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Elige de una lista seleccionada de imágenes del sistema operativo. Se usará para instalar requisitos previos y aplicaciones antes de capturar una imagen de máquina.
baseImage
- Imagen base
string
. Necesario cuando baseImageSource = default && templateType = builtin
. Valores permitidos: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
(Windows 2012-R2-Datacenter), MicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows
(Windows 2016-Datacenter), (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), MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows
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). Valor predeterminado: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Elige de una lista seleccionada de imágenes del sistema operativo. Se usará para instalar requisitos previos y aplicaciones antes de capturar una imagen de máquina.
customImageUrl
- Dirección URL de la imagen base
string
. Necesario cuando baseImageSource = customVhd && templateType = builtin
.
Especifica la dirección URL de una imagen base. Se usará para instalar requisitos previos y aplicaciones antes de capturar una imagen de máquina.
customImageOSType
- So de imagen base
string
. Necesario cuando baseImageSource = customVhd && templateType = builtin
. Valores permitidos: windows
, linux
. Valor predeterminado: windows
.
packagePath
- Paquete de implementación
string
. Necesario cuando templateType = builtin
.
Especifica la ruta de acceso de un directorio de paquete de implementación con respecto a $(System.DefaultWorkingDirectory)
. Admite un patrón de minimatch. Ruta de acceso de ejemplo: FrontendWebApp/**/GalleryApp
Nota
Este paquete se copiará en una máquina virtual temporal que Packer crea. Si el paquete contiene un gran número de archivos o los archivos tienen un tamaño muy grande, la carga puede tardar mucho tiempo (posiblemente en ejecución durante unas horas). Para optimizar el tiempo de carga, consulte si el tamaño del paquete se puede reducir significativamente. Otra alternativa es usar una cuenta de almacenamiento de Azure intermedia. Cargue el paquete en una cuenta de almacenamiento antes de ejecutar esta tarea. Para esta tarea, use un paquete que contenga un script que descargará el paquete necesario de la cuenta de almacenamiento.
deployScriptPath
- Script de implementación
string
. Necesario cuando templateType = builtin
.
Especifica la ruta de acceso relativa al script de PowerShell (para Windows) o el script de shell (para Linux) que implementa el paquete. Este script debe estar incluido en el trazado del paquete seleccionado anteriormente. Admite un patrón de minimatch. Ruta de acceso de ejemplo: deploy/**/scripts/windows/deploy.ps1
.
deployScriptArguments
- Argumentos de script de implementación
string
. Opcional. Use cuando templateType = builtin
.
Especifica los argumentos que se van a pasar al script de implementación.
additionalBuilderParameters
- Parámetros adicionales de Builder
string
. Opcional. Use cuando templateType = builtin
. Valor predeterminado: {"vm_size":"Standard_D3_v2"}
.
En el modo de plantilla de Packer generado automáticamente, la tarea crea una plantilla packer con un generador de Azure. Este generador se usa para crear una imagen de máquina. Puede agregar claves al generador de Azure para personalizar la plantilla de Packer. Por ejemplo: Si ssh_tty=true
usa una imagen base de CentOS y necesita tener un elemento tty para ejecutar sudo
.
Para ver o editar los parámetros adicionales en una cuadrícula, haga clic en …
junto al cuadro de texto.
skipTempFileCleanupDuringVMDeprovision
- Omitir la limpieza temporal de archivos durante el desaprovisionamiento
boolean
. Opcional. Use cuando templateType = builtin
. Valor predeterminado: true
.
Durante el desaprovisionamiento de una máquina virtual, omite la limpieza de los archivos temporales cargados en la máquina virtual. Obtenga más información sobre Azure Virtual Machine Image Builders en Packer.
packerVersion
- Versión de Packer
string
. Opcional. Use cuando templateType = custom
.
Especifica la versión de Packer que se va a instalar. Esto solo funcionará con plantillas personalizadas.
imageUri
- Dirección URL o nombre de la imagen
string
.
Especifica un nombre para la variable de salida que almacenará la dirección URL del disco duro virtual de imagen de máquina generada para una imagen de máquina virtual no administrada o el nombre de la imagen de una máquina virtual administrada.
imageId
- Identificador de recurso de Azure
string
.
Especifica un nombre para la variable de salida que almacenará el identificador de recurso de Azure para la imagen recién creada. Esto es solo para imágenes administradas.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de las entradas de tareas. Para obtener más información, vea Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Comentarios
Use esta tarea para compilar una imagen de máquina mediante Packer. Esta imagen se puede usar para la implementación del conjunto de escalado de máquinas virtuales de Azure.
Nota:
Si desea habilitar registros detallados, vaya a Canalizaciones>Editar>Variables y, a continuación, agregue una nueva variable PACKER_LOG y establezca su valor en 1.
Requisitos
Requisito | Descripción |
---|---|
Tipos de canalización | YAML, compilación clásica, versión clásica |
Se ejecuta en | Agente, DeploymentGroup |
Peticiones | Ninguno |
Capabilities | Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
Restricciones de comandos | Any |
Variables que se pueden establecer | Any |
Versión del agente | 2.0.0 o superior |
Categoría de la tarea: | Implementación |