PackerBuild@1 – Build machine image v1 task
Verwenden Sie diese Aufgabe, um ein Computerimage mithilfe von Packer zu erstellen, das für die Bereitstellung von Skalierungsgruppen für virtuelle Azure-Computer verwendet werden kann.
Syntax
# 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.
Eingänge
templateType
-
Packer-Vorlage
string
. Erforderlich. Zulässige Werte: builtin
(automatisch generiert), custom
(vom Benutzer bereitgestellt). Standardwert: builtin
.
Gibt an, ob die Aufgabe automatisch eine Packer-Vorlage generiert oder eine von Ihnen bereitgestellte benutzerdefinierte Vorlage verwendet.
customTemplateLocation
-
Packer-Vorlagenspeicherort
string
. Erforderlich, wenn templateType = custom
.
Gibt den Pfad zu einer benutzerdefinierten vom Benutzer bereitgestellten Vorlage an.
customTemplateParameters
-
Vorlagenparameter
string
. Wahlfrei. Wird verwendet, wenn templateType = custom
. Standardwert: {}
.
Gibt die Parameter an, die zum Erstellen einer benutzerdefinierten Vorlage an den Packer übergeben werden. Dies sollte einem variables
Abschnitt in Ihrer benutzerdefinierten Vorlage zugeordnet werden. Wenn die Vorlage beispielsweise eine Variable namens drop-location
hat, fügen Sie hier einen Parameter mit dem Namen drop-location
und einem Wert hinzu, den Sie verwenden möchten. Sie können den Wert auch mit einer Releasevariable verknüpfen. Wenn Sie die zusätzlichen Parameter in einem Raster anzeigen/bearbeiten möchten, klicken Sie neben dem Textfeld auf …
.
ConnectedServiceName
-
Azure-Abonnement
string
. Erforderlich, wenn templateType = builtin
.
Gibt das Azure Resource Manager-Abonnement zum Backen und Speichern des Computerimages an.
isManagedImage
-
Verwaltetes VM-Datenträgerimage
boolean
. Wahlfrei. Wird verwendet, wenn templateType = builtin
. Standardwert: true
.
Überprüft, ob das generierte Bild ein verwaltetes Image sein soll.
managedImageName
-
Name des verwalteten VM-Datenträgerimages
string
. Erforderlich, wenn isManagedImage = true && templateType = builtin
.
Gibt den Namen des Verwalteten Datenträgerimages für automatisch generierte Vorlagen an.
location
-
Speicherort
string
. Erforderlich, wenn templateType = builtin
.
Gibt den Speicherort zum Speichern des integrierten Computerimages an. Dieser Speicherort wird auch verwendet, um einen temporären virtuellen Computer zum Erstellen eines Images zu erstellen.
storageAccountName
-
Speicherkonto
string
. Erforderlich, wenn templateType = builtin
.
Gibt das Speicherkonto zum Speichern des integrierten Computerimages an. Dieses Speicherkonto muss bereits an dem ausgewählten Speicherort vorhanden sein.
azureResourceGroup
-
Ressourcengruppe
string
. Erforderlich, wenn templateType = builtin
.
Gibt die Azure-Ressourcengruppe an, die das ausgewählte Speicherkonto enthält.
baseImageSource
-
Basisbildquelle
string
. Erforderlich, wenn templateType = builtin
. Zulässige Werte: default
(Katalog), customVhd
(Benutzerdefiniert). Standardwert: default
.
Gibt die Quelle des Basisimages an. Sie können entweder aus einem kuratierten Katalog mit Betriebssystemimages auswählen oder eine URL Ihres benutzerdefinierten VHD-Images angeben.
Hinweis
Wenn Sie die Option zum Erstellen eines verwalteten Images ausgewählt haben, indem Sie die Option Managed VM disk image
aktivieren, sollten Sie hier nur die Option Gallery
auswählen.
Custom
Quelle wird nicht unterstützt, um ein verwaltetes Image zu erstellen.
baseImage
-
Basisimage
string
. Erforderlich, wenn baseImageSource = default && templateType = builtin
. Zulässige Werte: 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 200)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-LT) 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). Standardwert: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Wählen Sie aus einer kuratierten Liste der Betriebssystemimages aus. Dies wird für die Installation von Voraussetzungen und Anwendungen verwendet, bevor ein Computerimage erfasst wird.
customImageUrl
-
Basisbild-URL
string
. Erforderlich, wenn baseImageSource = customVhd && templateType = builtin
.
Gibt die URL eines Basisimages an. Dies wird für die Installation von Voraussetzungen und Anwendungen verwendet, bevor ein Computerimage erfasst wird.
customImageOSType
-
Basisimage-Betriebssystem-
string
. Erforderlich, wenn baseImageSource = customVhd && templateType = builtin
. Zulässige Werte: windows
, linux
. Standardwert: windows
.
packagePath
-
Bereitstellungspaket-
string
. Erforderlich, wenn templateType = builtin
.
Gibt den Pfad für ein Bereitstellungspaketverzeichnis relativ zu $(System.DefaultWorkingDirectory)
an. Unterstützt ein Miniübereinstimmungsmuster. Beispiel-Pfad: FrontendWebApp/**/GalleryApp
Hinweis
Dieses Paket wird auf einen temporären virtuellen Computer kopiert, den Packer erstellt. Wenn das Paket eine große Anzahl von Dateien enthält und/oder die Dateien sehr groß sind, kann der Upload sehr lange dauern (möglicherweise für ein paar Stunden). Um die Uploadzeit zu optimieren, überprüfen Sie bitte, ob die Größe des Pakets sinnvoll reduziert werden kann. Eine weitere Alternative besteht darin, ein zwischengeschaltetes Azure-Speicherkonto zu verwenden. Laden Sie das Paket vor dem Ausführen dieser Aufgabe in ein Speicherkonto hoch. Verwenden Sie für diese Aufgabe ein Paket mit einem Skript, das das erforderliche Paket aus dem Speicherkonto herunter lädt.
deployScriptPath
-
Bereitstellungsskript
string
. Erforderlich, wenn templateType = builtin
.
Gibt den relativen Pfad zum PowerShell-Skript (für Windows) oder das Shellskript (für Linux) an, das das Paket bereitstellt. Dieses Skript sollte im oben ausgewählten Paketpfad enthalten sein. Unterstützt ein Miniübereinstimmungsmuster. Beispielpfad: deploy/**/scripts/windows/deploy.ps1
.
deployScriptArguments
-
Bereitstellungsskriptargumente
string
. Wahlfrei. Wird verwendet, wenn templateType = builtin
.
Gibt die Argumente an, die an das Bereitstellungsskript übergeben werden sollen.
additionalBuilderParameters
-
Zusätzliche Generator-Parameter
string
. Wahlfrei. Wird verwendet, wenn templateType = builtin
. Standardwert: {"vm_size":"Standard_D3_v2"}
.
Im automatisch generierten Packer-Vorlagenmodus erstellt die Aufgabe eine Packer-Vorlage mit einem Azure-Generator. Dieser Generator wird verwendet, um ein Computerimage zu generieren. Sie können dem Azure-Generator Schlüssel hinzufügen, um die generierte Packer-Vorlage anzupassen. Beispiel: Festlegen ssh_tty=true
, wenn Sie ein CentOS-Basisimage verwenden, und Sie müssen über eine Tty verfügen, um sudo
auszuführen.
Wenn Sie die zusätzlichen Parameter in einem Raster anzeigen/bearbeiten möchten, klicken Sie neben dem Textfeld auf …
.
skipTempFileCleanupDuringVMDeprovision
-
Temporäre Dateibereinigung während der Deprovisions- überspringen
boolean
. Wahlfrei. Wird verwendet, wenn templateType = builtin
. Standardwert: true
.
Während der Bereitstellung eines virtuellen Computers überspringt die Bereinigung temporärer Dateien, die auf den virtuellen Computer hochgeladen wurden. Erfahren Sie mehr über Azure Virtual Machine Image Builders in Packer.
packerVersion
-
Packer-Version
string
. Wahlfrei. Wird verwendet, wenn templateType = custom
.
Gibt die zu installierende Version von Packer an. Dies funktioniert nur mit benutzerdefinierten Vorlagen.
imageUri
-
Bild-URL oder -Name
string
.
Gibt einen Namen für die Ausgabevariable an, die die VHD-URL des generierten Computerimages für ein nicht verwaltetes VM-Image oder den Imagenamen für ein verwaltetes VM-Image speichert.
imageId
-
Azure Resource Id
string
.
Gibt einen Namen für die Ausgabevariable an, die die Azure-Ressourcen-ID für das neu erstellte Image speichert. Dies gilt nur für verwaltete Bilder.
Aufgabensteuerungsoptionen
Alle Aufgaben verfügen zusätzlich zu ihren Aufgabeneingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerelementoptionen und allgemeinen Aufgabeneigenschaften.
Ausgabevariablen
Keiner.
Bemerkungen
Verwenden Sie diese Aufgabe, um ein Computerimage mithilfe von Packer zu erstellen. Dieses Image kann für die Bereitstellung von Skalierungsgruppen für virtuelle Azure-Computer verwendet werden.
Hinweis
Wenn Sie detaillierte Protokolle aktivieren möchten, navigieren Sie zu Pipelines>Edit>Variables, und fügen Sie dann eine neue Variable PACKER_LOG hinzu, und legen Sie den Wert auf 1 fest.
Anforderungen
Anforderung | BESCHREIBUNG |
---|---|
Pipelinetypen | YAML, Classic Build, Classic Release |
Läuft auf | Agent, DeploymentGroup |
Anforderungen | Nichts |
Funktionen | Dieser Vorgang erfüllt keine Anforderungen für nachfolgende Vorgänge im Auftrag. |
Befehlseinschränkungen | Jegliche |
Settable-Variablen | Jegliche |
Agentversion | 2.0.0 oder höher |
Vorgangskategorie | Einsetzen |