PackerBuild@1 - Taak Machine-installatiekopieën bouwen v1
Gebruik deze taak om een machineinstallatiekopieën te maken met Packer, die kan worden gebruikt voor de implementatie van virtuele-machineschaalsets in Azure.
Notitie
Deze taak biedt geen ondersteuning voor Azure Resource Manager-verificatie met werkstroomidentiteitsfederatie.
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.
Invoerwaarden
templateType
- Packer-sjabloon
string
. Vereist. Toegestane waarden: builtin
(automatisch gegenereerd), custom
(door de gebruiker opgegeven). Standaardwaarde: builtin
.
Hiermee geeft u op of de taak automatisch een Packer-sjabloon genereert of een aangepaste sjabloon gebruikt die door u is geleverd.
customTemplateLocation
- Locatie van Packer-sjabloon
string
. Vereist wanneer templateType = custom
.
Hiermee geeft u het pad naar een aangepaste door de gebruiker opgegeven sjabloon.
customTemplateParameters
- Sjabloonparameters
string
. Optioneel. Gebruik wanneer templateType = custom
. Standaardwaarde: {}
.
Hiermee geeft u de parameters die worden doorgegeven aan de Packer voor het bouwen van een aangepaste sjabloon. Dit moet worden toegewezen aan een variables
sectie in uw aangepaste sjabloon. Als de sjabloon bijvoorbeeld een variabele heeft met de naam drop-location
, voegt u hier een parameter toe met de naam drop-location
en een waarde die u wilt gebruiken. U kunt de waarde ook koppelen aan een releasevariabele. Als u de extra parameters in een raster wilt weergeven/bewerken, klikt u op …
naast het tekstvak.
ConnectedServiceName
- Azure-abonnement
string
. Vereist wanneer templateType = builtin
.
Hiermee geeft u het Azure Resource Manager-abonnement op voor het bakken en opslaan van de installatiekopieën van de machine.
isManagedImage
- Installatiekopieën van beheerde VM-schijf
boolean
. Optioneel. Gebruik wanneer templateType = builtin
. Standaardwaarde: true
.
Controleert of de gegenereerde installatiekopieën een beheerde installatiekopieën moeten zijn.
managedImageName
- Naam van beheerde VM-schijfinstallatiekopieën
string
. Vereist wanneer isManagedImage = true && templateType = builtin
.
Hiermee geeft u de naam van de beheerde schijfinstallatiekopieën voor automatisch gegenereerde sjablonen.
location
- Opslaglocatie
string
. Vereist wanneer templateType = builtin
.
Hiermee geeft u de locatie voor het opslaan van de installatiekopieën van de ingebouwde machine. Deze locatie wordt ook gebruikt om een tijdelijke VM te maken voor het bouwen van een installatiekopieën.
storageAccountName
- Opslagaccount
string
. Vereist wanneer templateType = builtin
.
Hiermee geeft u het opslagaccount op voor het opslaan van de installatiekopieën van de ingebouwde machine. Dit opslagaccount moet al bestaan op de geselecteerde locatie.
azureResourceGroup
- Resourcegroep
string
. Vereist wanneer templateType = builtin
.
Hiermee geeft u de Azure-resourcegroep op die het geselecteerde opslagaccount bevat.
baseImageSource
- Bron van basisinstallatiekopieën
string
. Vereist wanneer templateType = builtin
. Toegestane waarden: default
(Galerie), customVhd
(Aangepast). Standaardwaarde: default
.
Hiermee geeft u de bron van de basisinstallatiekopieën. U kunt kiezen uit een gecureerde galerie met installatiekopieën van het besturingssysteem of een URL van uw aangepaste VHD-installatiekopieën opgeven.
Notitie
Als u de optie voor het maken van een beheerde installatiekopieën hebt geselecteerd door de Managed VM disk image
optie aan te vinken, moet u alleen de Gallery
optie hier kiezen. Custom
bron wordt niet ondersteund voor het maken van een beheerde installatiekopieën.
baseImage
- Basisinstallatiekopieën
string
. Vereist wanneer baseImageSource = default && templateType = builtin
. Toegestane waarden: 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.404-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). Standaardwaarde: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Kiest uit een gecureerde lijst met installatiekopieën van het besturingssysteem. Dit wordt gebruikt voor het installeren van vereisten en toepassing(en) voordat een installatiekopieën van een computer worden vastgelegd.
baseImage
- Basisinstallatiekopieën
string
. Vereist wanneer baseImageSource = default && templateType = builtin
. Toegestane waarden: 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). Standaardwaarde: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows
.
Kiest uit een gecureerde lijst met installatiekopieën van het besturingssysteem. Dit wordt gebruikt voor het installeren van vereisten en toepassing(en) voordat een installatiekopieën van een computer worden vastgelegd.
customImageUrl
- URL van basisinstallatiekopieën
string
. Vereist wanneer baseImageSource = customVhd && templateType = builtin
.
Hiermee geeft u de URL van een basisinstallatiekopieën. Dit wordt gebruikt voor het installeren van vereisten en toepassing(en) voordat een installatiekopieën van een computer worden vastgelegd.
customImageOSType
- Besturingssysteem van basisinstallatiekopieën
string
. Vereist wanneer baseImageSource = customVhd && templateType = builtin
. Toegestane waarden: windows
, linux
. Standaardwaarde: windows
.
packagePath
- Implementatiepakket
string
. Vereist wanneer templateType = builtin
.
Hiermee geeft u het pad voor een implementatiepakketmap ten opzichte van $(System.DefaultWorkingDirectory)
. Ondersteunt een minimatch-patroon. Voorbeeldpad: FrontendWebApp/**/GalleryApp
Notitie
Dit pakket wordt gekopieerd naar een tijdelijke virtuele machine die Packer maakt. Als het pakket een groot aantal bestanden bevat en/of de bestanden erg groot zijn, kan het uploaden lang duren (mogelijk enkele uren). Als u de uploadtijd wilt optimaliseren, controleert u of de grootte van het pakket zinvol kan worden verkleind. Een ander alternatief is om een tussenliggend Azure-opslagaccount te gebruiken. Upload het pakket naar een opslagaccount voordat u deze taak uitvoert. Gebruik voor deze taak een pakket met een script waarmee het vereiste pakket uit het opslagaccount wordt gedownload.
deployScriptPath
- Implementatiescript
string
. Vereist wanneer templateType = builtin
.
Hiermee geeft u het relatieve pad naar het PowerShell-script (voor Windows) of het shellscript (voor Linux) waarmee het pakket wordt geïmplementeerd. Dit script moet zich bevinden in het pakketpad dat hierboven is geselecteerd. Ondersteunt een minimatch-patroon. Voorbeeldpad: deploy/**/scripts/windows/deploy.ps1
.
deployScriptArguments
- Argumenten voor implementatiescript
string
. Optioneel. Gebruik wanneer templateType = builtin
.
Hiermee geeft u de argumenten die moeten worden doorgegeven aan het implementatiescript.
additionalBuilderParameters
- Aanvullende opbouwfunctieparameters
string
. Optioneel. Gebruik wanneer templateType = builtin
. Standaardwaarde: {"vm_size":"Standard_D3_v2"}
.
In de automatisch gegenereerde Packer-sjabloonmodus maakt de taak een Packer-sjabloon met een Azure-opbouwfunctie. Deze opbouwfunctie wordt gebruikt om een computerinstallatiekopieën te genereren. U kunt sleutels toevoegen aan de Azure Builder om de gegenereerde Packer-sjabloon aan te passen. Bijvoorbeeld: instelling ssh_tty=true
als u een CentOS-basisinstallatiekopieën gebruikt en u een tty nodig hebt om uit te voeren sudo
.
Als u de extra parameters in een raster wilt weergeven/bewerken, klikt u op …
naast het tekstvak.
skipTempFileCleanupDuringVMDeprovision
- Tijdelijke bestandsopruiming overslaan tijdens het ongedaan maken van de inrichting
boolean
. Optioneel. Gebruik wanneer templateType = builtin
. Standaardwaarde: true
.
Tijdens het ongedaan maken van de inrichting van een VM wordt het opschonen van tijdelijke bestanden overgeslagen die naar de virtuele machine zijn geüpload. Meer informatie over Azure Virtual Machine Image Builders in Packer.
packerVersion
- Packer-versie
string
. Optioneel. Gebruik wanneer templateType = custom
.
Hiermee geeft u de versie van Packer te installeren. Dit werkt alleen met aangepaste sjablonen.
imageUri
- Afbeeldings-URL of -naam
string
.
Hiermee geeft u een naam op voor de uitvoervariabele waarmee de VHD-URL van de gegenereerde machineinstallatiekopieën voor een niet-beheerde VM-installatiekopieën of de naam van de installatiekopieën van een beheerde VM worden opgeslagen.
imageId
- Azure-resource-id
string
.
Hiermee geeft u een naam op voor de uitvoervariabele waarin de Azure-resource-id voor de zojuist gemaakte installatiekopieën worden opgeslagen. Dit is alleen voor beheerde installatiekopieën.
Opties voor taakbeheer
Alle taken hebben besturingsopties naast hun taakinvoer. Zie Opties voor besturingselementen en algemene taakeigenschappen voor meer informatie.
Uitvoervariabelen
Geen.
Opmerkingen
Gebruik deze taak om een computerinstallatiekopieën te maken met Packer. Deze installatiekopieën kunnen worden gebruikt voor de implementatie van virtuele-machineschaalsets van Azure.
Notitie
Als u gedetailleerde logboeken wilt inschakelen, gaat u naar Pijplijnen>:variabelenbewerken>, voegt u een nieuwe variabele toe PACKER_LOG en stelt u de waarde ervan in op 1.
Vereisten
Vereiste | Beschrijving |
---|---|
Pijplijntypen | YAML, klassieke build, klassieke release |
Wordt uitgevoerd op | Agent, DeploymentGroup |
Eisen | Geen |
Functies | Deze taak voldoet niet aan eventuele vereisten voor volgende taken in de taak. |
Opdrachtbeperkingen | Alle |
Instelbare variabelen | Alle |
Agentversie | 2.0.0 of hoger |
Taakcategorie | Implementeren |