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.
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.
Entradas
templateType
-
de plantilla 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 plantilla de Packer
string
. Obligatorio 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 sección de variables
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 desee usar. También puede vincular el valor a una variable de versión. Para ver o editar los parámetros adicionales en una cuadrícula, haga clic en …
junto al cuadro de texto.
ConnectedServiceName
-
de suscripción de Azure
string
. Obligatorio 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 imagen de disco de máquina virtual administrado
string
. Obligatorio cuando isManagedImage = true && templateType = builtin
.
Especifica el nombre de la imagen de disco administrado para las plantillas generadas automáticamente.
de ubicación de almacenamiento de location
-
string
. Obligatorio 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.
de la cuenta de almacenamiento de storageAccountName
-
string
. Obligatorio 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.
del grupo de recursos de azureResourceGroup
-
string
. Obligatorio cuando templateType = builtin
.
Especifica el grupo de recursos de Azure que contiene la cuenta de almacenamiento seleccionada.
baseImageSource
-
origen de imagen base
string
. Obligatorio 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 opción Managed VM disk image
, solo debe elegir la opción Gallery
aquí.
Custom
origen no se admite para crear una imagen administrada.
de imagen base de baseImage
-
string
. Obligatorio 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), 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).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 una lista seleccionada de imágenes del sistema operativo. Esto se usará para instalar los requisitos previos y las aplicaciones antes de capturar una imagen de máquina.
customImageUrl
-
dirección URL de la imagen base
string
. Obligatorio cuando baseImageSource = customVhd && templateType = builtin
.
Especifica la dirección URL de una imagen base. Esto se usará para instalar los requisitos previos y las aplicaciones antes de capturar una imagen de máquina.
customImageOSType
-
del sistema operativo de imagen base
string
. Obligatorio cuando baseImageSource = customVhd && templateType = builtin
. Valores permitidos: windows
, linux
. Valor predeterminado: windows
.
packagePath
-
del paquete de implementación
string
. Obligatorio 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 crea Packer. 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 puede reducirse 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.
de script de implementación de deployScriptPath
-
string
. Obligatorio 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 la ruta de acceso del paquete seleccionada 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 de Generador adicional
string
. Opcional. Use cuando templateType = builtin
. Valor predeterminado: {"vm_size":"Standard_D3_v2"}
.
En el modo de plantilla packer generado automáticamente, la tarea crea una plantilla packer con un generador de Azure. Este generador se usa para generar una imagen de máquina. Puede agregar claves al generador de Azure para personalizar la plantilla de Packer generada. Por ejemplo: Establecer ssh_tty=true
si 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 limpieza de archivos temporales 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.
versión de packerVersion
- 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 de imagen o nombre
string
.
Especifica un nombre para la variable de salida que almacenará la dirección URL del VHD de la 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
-
de 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. Solo para imágenes administradas.
Opciones de control de tareas
Todas las tareas tienen opciones de control además de sus entradas de tarea. Para obtener más información, consulte Opciones de control y propiedades de tareas comunes.
Variables de salida
Ninguno.
Observaciones
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>Variablesy 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 |
demandas | Ninguno |
funcionalidades de |
Esta tarea no satisface ninguna demanda de tareas posteriores en el trabajo. |
restricciones de comandos | Cualquiera |
variables settable | Cualquiera |
Versión del agente | 2.0.0 o superior |
Categoría de tarea | Desplegar |