PackerBuild@1: Aufgabe "Computerimage v1 erstellen"
Verwenden Sie diese Aufgabe, um mithilfe von Packer ein Computerimage zu erstellen, das für die Bereitstellung von Azure-VM-Skalierungsgruppen verwendet werden kann.
Hinweis
Diese Aufgabe unterstützt keine Azure Resource Manager-Authentifizierung mit dem Workflowidentitätsverbund.
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.
# 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.
Eingaben
templateType
- Packervorlage
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
- Speicherort der Packervorlage
string
. Erforderlich, wenn templateType = custom
.
Gibt den Pfad zu einer benutzerdefinierten, vom Benutzer bereitgestellten Vorlage an.
customTemplateParameters
- Vorlagenparameter
string
. Optional. Verwenden Sie , 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 über eine Variable mit dem Namen verfügt drop-location
, 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. Klicken Sie auf …
neben dem Textfeld, um die zusätzlichen Parameter in einem Raster anzuzeigen/zu bearbeiten.
ConnectedServiceName
- Azure-Abonnement
string
. Erforderlich, wenn templateType = builtin
.
Gibt das Azure Resource Manager-Abonnement zum Baken und Speichern des Computerimages an.
isManagedImage
- Image des verwalteten VM-Datenträgers
boolean
. Optional. Verwenden Sie , wenn templateType = builtin
. Standardwert. true
.
Überprüft, ob das generierte Image ein verwaltetes Image sein soll.
managedImageName
- Name des Verwalteten VM-Datenträgerimages
string
. Erforderlich, wenn isManagedImage = true && templateType = builtin
.
Gibt den Namen des Images für verwaltete Datenträger für automatisch generierte Vorlagen an.
location
- Speicherort
string
. Erforderlich, wenn templateType = builtin
.
Gibt den Speicherort zum Speichern des erstellten 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 erstellten Computerimages an. Dieses Speicherkonto muss am ausgewählten Speicherort bereits vorhanden sein.
azureResourceGroup
- Ressourcengruppe
string
. Erforderlich, wenn templateType = builtin
.
Gibt die Azure-Ressourcengruppe an, die das ausgewählte Speicherkonto enthält.
baseImageSource
- Basisimagequelle
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 Managed VM disk image
Option aktivieren, sollten Sie hier nur die Gallery
Option auswählen. Custom
source 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 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.) 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). Standardwert. MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Wählt aus einer kuratierten Liste von Betriebssystemimages aus. Dies wird zum Installieren von Voraussetzungen und Anwendungen verwendet, bevor ein Computerimage erfasst wird.
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 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). Standardwert. MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Wählt aus einer kuratierten Liste von Betriebssystemimages aus. Dies wird zum Installieren 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 zum Installieren von Voraussetzungen und Anwendungen verwendet, bevor ein Computerimage erfasst wird.
customImageOSType
- Betriebssystem des Basisimages
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 Minimatchmuster. 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 einige Stunden). Um die Uploadzeit zu optimieren, überprüfen Sie, 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, das ein Skript enthält, mit dem das erforderliche Paket aus dem Speicherkonto heruntergeladen wird.
deployScriptPath
- Bereitstellungsskript
string
. Erforderlich, wenn templateType = builtin
.
Gibt den relativen Pfad zum PowerShell-Skript (für Windows) oder zum Shellskript (für Linux) an, das das Paket bereitstellt. Dieses Skript sollte im oben ausgewählten Paketpfad enthalten sein. Unterstützt ein Minimatchmuster. Beispielpfad: deploy/**/scripts/windows/deploy.ps1
.
deployScriptArguments
- Argumente für Bereitstellungsskripts
string
. Optional. Verwenden Sie , wenn templateType = builtin
.
Gibt die Argumente an, die an das Bereitstellungsskript übergeben werden sollen.
additionalBuilderParameters
- Zusätzliche Builder-Parameter
string
. Optional. Verwenden Sie , wenn templateType = builtin
. Standardwert. {"vm_size":"Standard_D3_v2"}
.
Im automatisch generierten Packer-Vorlagenmodus erstellt die Aufgabe eine Packer-Vorlage mit einem Azure-Generator. Über diesen Generator wird ein Computerimage generiert. 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 über ein tty verfügen müssen, um auszuführen sudo
.
Klicken Sie auf …
neben dem Textfeld, um die zusätzlichen Parameter in einem Raster anzuzeigen/zu bearbeiten.
skipTempFileCleanupDuringVMDeprovision
- Überspringen der temporären Dateibereinigung während der Aufhebung der Bereitstellung
boolean
. Optional. Verwenden Sie , wenn templateType = builtin
. Standardwert. true
.
Während der Aufhebung der Bereitstellung eines virtuellen Computers überspringt die Bereinigung temporärer Dateien, die auf den virtuellen Computer hochgeladen werden. Erfahren Sie mehr über Azure Virtual Machine Image Builders in Packer.
packerVersion
- Packerversion
string
. Optional. Verwenden Sie , 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 generierte VM-VHD-URL für ein nicht verwaltetes VM-Image oder den Imagenamen für ein verwaltetes VM-Image speichert.
imageId
- Azure-Ressourcen-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 Images.
Optionen für die Vorgangskontrolle
Alle Vorgänge verfügen zusätzlich zu ihren Eingaben über Steuerungsoptionen. Weitere Informationen finden Sie unter Steuerungsoptionen und allgemeine Aufgabeneigenschaften.
Ausgabevariablen
Keine.
Hinweise
Verwenden Sie diese Aufgabe, um ein Computerimage mit Packer zu erstellen. Dieses Image kann für die Bereitstellung von Skalierungsgruppen für virtuelle Azure-Computer verwendet werden.
Hinweis
Wenn Sie ausführliche Protokolle aktivieren möchten, navigieren Sie zu Pipelines>Bearbeiten>Variablen, fügen Sie eine neue Variable PACKER_LOG hinzu, und legen Sie deren Wert auf „1“ fest.
Anforderungen
Anforderung | Beschreibung |
---|---|
Pipelinetypen | YAML, Klassischer Build, klassisches Release |
Wird ausgeführt auf | Agent, DeploymentGroup |
Forderungen | Keine |
Capabilities | Diese Aufgabe erfüllt keine Anforderungen an nachfolgende Aufgaben im Auftrag. |
Befehlseinschränkungen | Any |
Setzbare Variablen | Any |
Agent-Version | 2.0.0 oder höher |
Aufgabenkategorie | Bereitstellen |