Partager via


PackerBuild@1 - Tâche générer une image de machine v1

Utilisez cette tâche pour créer une image de machine à l’aide de Packer, qui peut être utilisée pour le déploiement de groupes de machines virtuelles identiques Azure.

Syntaxe

# 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.

Entrées

templateType - Modèle Packer
string. Obligatoire. Valeurs autorisées : builtin (générée automatiquement), custom (fournie par l’utilisateur). Valeur par défaut : builtin.

Spécifie si la tâche génère automatiquement un modèle Packer ou utilise un modèle personnalisé que vous avez fourni.


customTemplateLocation - Emplacement du modèle Packer
string. Nécessaire lorsque templateType = custom.

Spécifie le chemin d’accès à un modèle personnalisé fourni par l’utilisateur.


customTemplateParameters - Paramètres de modèle
string. facultatif. Utilisez quand templateType = custom. Valeur par défaut : {}.

Spécifie les paramètres qui seront transmis au Packer pour la création d’un modèle personnalisé. Cela doit être mappé à une variables section de votre modèle personnalisé. Par exemple, si le modèle a une variable nommée drop-location, ajoutez ici un paramètre avec le nom drop-location et une valeur que vous souhaitez utiliser. Vous pouvez également lier la valeur à une variable de mise en production. Pour afficher/modifier les paramètres supplémentaires dans une grille, cliquez sur en regard de la zone de texte.


ConnectedServiceName - Abonnement Azure
string. Nécessaire lorsque templateType = builtin.

Spécifie l’abonnement Azure Resource Manager pour la cuisson et le stockage de l’image de machine.


isManagedImage - Image de disque de machine virtuelle managée
boolean. facultatif. Utilisez quand templateType = builtin. Valeur par défaut : true.

Vérifie si l’image générée doit être une image managée.


managedImageName - Nom de l’image de disque de machine virtuelle managée
string. Nécessaire lorsque isManagedImage = true && templateType = builtin.

Spécifie le nom de l’image de disque managé pour les modèles générés automatiquement.


location - Emplacement de stockage
string. Nécessaire lorsque templateType = builtin.

Spécifie l’emplacement de stockage de l’image de machine générée. Cet emplacement sera également utilisé pour créer une machine virtuelle temporaire dans le but de créer une image.


storageAccountName - Compte de stockage
string. Nécessaire lorsque templateType = builtin.

Spécifie le compte de stockage pour le stockage de l’image de machine générée. Ce compte de stockage doit être préexistant à l’emplacement sélectionné.


azureResourceGroup - Groupe de ressources
string. Nécessaire lorsque templateType = builtin.

Spécifie le groupe de ressources Azure qui contient le compte de stockage sélectionné.


baseImageSource - Source de l’image de base
string. Nécessaire lorsque templateType = builtin. Valeurs autorisées : default (Galerie), customVhd (Personnalisé). Valeur par défaut : default.

Spécifie la source de l’image de base. Vous pouvez choisir parmi une galerie organisée d’images de système d’exploitation ou fournir une URL de votre image de disque dur virtuel personnalisé.

Notes

Si vous avez sélectionné l’option de création d’une image gérée en cochant l’option Managed VM disk image , vous devez uniquement choisir l’option Gallery ici. Custom source n’est pas prise en charge pour créer une image managée.


baseImage - Image de base
string. Nécessaire lorsque baseImageSource = default && templateType = builtin. Valeurs autorisées : 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.004-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), (Debian 8), credativ:Debian:7:linuxcredativ:Debian:8: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). Valeur par défaut : MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Choisit dans une liste organisée d’images de système d’exploitation. Cela sera utilisé pour installer les prérequis et les applications avant de capturer une image de machine.


baseImage - Image de base
string. Nécessaire lorsque baseImageSource = default && templateType = builtin. Valeurs autorisées : 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), (Debian 8), credativ:Debian:7:linuxcredativ:Debian:8: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). Valeur par défaut : MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Choisit dans une liste organisée d’images de système d’exploitation. Cela sera utilisé pour installer les prérequis et les applications avant de capturer une image de machine.


customImageUrl - URL de l’image de base
string. Nécessaire lorsque baseImageSource = customVhd && templateType = builtin.

Spécifie l’URL d’une image de base. Cela sera utilisé pour installer les prérequis et les applications avant de capturer une image de machine.


customImageOSType - Système d’exploitation d’image de base
string. Nécessaire lorsque baseImageSource = customVhd && templateType = builtin. Valeurs autorisées : windows, linux. Valeur par défaut : windows.


packagePath - Package de déploiement
string. Nécessaire lorsque templateType = builtin.

Spécifie le chemin d’accès d’un répertoire de package de déploiement relatif à $(System.DefaultWorkingDirectory). Prend en charge un modèle de mini-correspondance. Exemple de chemin d’accès : FrontendWebApp/**/GalleryApp

Notes

Ce package sera copié sur une machine virtuelle temporaire créée par Packer. Si le package contient un grand nombre de fichiers et/ou si les fichiers sont de très grande taille, le chargement peut prendre beaucoup de temps (peut-être s’exécuter pendant quelques heures). Pour optimiser le temps de chargement, vérifiez si la taille du package peut être considérablement réduite. Une autre alternative consiste à utiliser un compte de stockage Azure intermédiaire. Chargez le package sur un compte de stockage avant d’exécuter cette tâche. Pour cette tâche, utilisez un package contenant un script qui télécharge le package requis à partir du compte de stockage.


deployScriptPath - Script de déploiement
string. Nécessaire lorsque templateType = builtin.

Spécifie le chemin d’accès relatif au script PowerShell (pour Windows) ou au script shell (pour Linux) qui déploie le package. Ce script doit être contenu dans le chemin du package sélectionné ci-dessus. Prend en charge un modèle de mini-correspondance. Exemple de chemin d’accès : deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - Arguments de script de déploiement
string. facultatif. Utilisez quand templateType = builtin.

Spécifie les arguments à passer au script de déploiement.


additionalBuilderParameters - Paramètres de générateur supplémentaires
string. facultatif. Utilisez quand templateType = builtin. Valeur par défaut : {"vm_size":"Standard_D3_v2"}.

En mode modèle Packer généré automatiquement, la tâche crée un modèle Packer avec un générateur Azure. Ce générateur est utilisé pour générer une image de machine. Vous pouvez ajouter des clés au générateur Azure pour personnaliser le modèle Packer généré. Par exemple : Définissez ssh_tty=true si vous utilisez une image de base CentOS et que vous devez disposer d’un tty pour exécuter sudo. Pour afficher/modifier les paramètres supplémentaires dans une grille, cliquez sur en regard de la zone de texte.


skipTempFileCleanupDuringVMDeprovision - Ignorer le nettoyage de fichier temporaire pendant le déprovisionnement
boolean. facultatif. Utilisez quand templateType = builtin. Valeur par défaut : true.

Pendant le déprovisionnement d’une machine virtuelle, ignore le nettoyage des fichiers temporaires chargés sur la machine virtuelle. En savoir plus sur Azure Virtual Machine Image Builders dans Packer.


packerVersion - Packer Version
string. facultatif. Utilisez quand templateType = custom.

Spécifie la version de Packer à installer. Cela fonctionne uniquement avec des modèles personnalisés.


imageUri - URL ou nom de l’image
string.

Spécifie un nom pour la variable de sortie qui stockera l’URL du disque dur virtuel de l’image de machine virtuelle générée pour une image de machine virtuelle non managée ou le nom de l’image d’une image de machine virtuelle managée.


imageId - ID de ressource Azure
string.

Spécifie un nom pour la variable de sortie qui stockera l’ID de ressource Azure pour l’image nouvellement créée. Il s’agit uniquement des images managées.


Options de contrôle de la tâche

Toutes les tâches ont des options de contrôle en plus de leurs entrées de tâches. Pour plus d’informations, consultez Options de contrôle et propriétés de tâche courantes.

Variables de sortie

Aucun.

Notes

Utilisez cette tâche pour générer une image de machine à l’aide de Packer. Cette image peut être utilisée pour le déploiement d’un groupe de machines virtuelles identiques Azure.

Notes

Si vous souhaitez activer les journaux détaillés, accédez à Variables demodification>des pipelines>, puis ajoutez une nouvelle variable PACKER_LOG et définissez sa valeur sur 1.

Spécifications

Condition requise Description
Types de pipelines YAML, build classique, version classique
S’exécute sur Agent, DeploymentGroup
Demandes Aucun
Capabilities Cette tâche ne répond à aucune demande pour les tâches suivantes dans le travail.
Restrictions de commandes Quelconque
Variables settables Quelconque
Version de l’agent 2.0.0 ou supérieur
Catégorie de la tâche Déployer