Dela via


PackerBuild@1 – Skapa dator avbildning v1-uppgift

Använd den här uppgiften för att skapa en datorbild med Packer, som kan användas för distribution av vm-skalningsuppsättningar i Azure.

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.

Indata

templateType - Packarmall
string. Krävs. Tillåtna värden: builtin (genereras automatiskt), custom (användaren tillhandahålls). Standardvärde: builtin.

Anger om uppgiften automatiskt genererar en Packer-mall eller använder en anpassad mall som tillhandahålls av dig.


customTemplateLocation - Plats för packarmall
string. Krävs när templateType = custom.

Anger sökvägen till en anpassad mall som tillhandahålls av användaren.


customTemplateParameters - Mallparametrar
string. Valfritt. Använd när templateType = custom. Standardvärde: {}.

Anger de parametrar som ska skickas till Packer för att skapa en anpassad mall. Detta bör mappas till ett variables avsnitt i din anpassade mall. Om mallen till exempel har en variabel med namnet drop-locationlägger du till en parameter här med namnet drop-location och ett värde som du vill använda. Du kan också länka värdet till en versionsvariabel. Om du vill visa/redigera de ytterligare parametrarna i ett rutnät klickar du på bredvid textrutan.


ConnectedServiceName - Azure-prenumeration
string. Krävs när templateType = builtin.

Anger Azure Resource Manager-prenumerationen för att baka och lagra datorbilden.


isManagedImage - Hanterad VM-diskavbildning
boolean. Valfritt. Använd när templateType = builtin. Standardvärde: true.

Kontrollerar om den genererade avbildningen ska vara en hanterad avbildning.


managedImageName - Avbildningsnamn för hanterad virtuell dator
string. Krävs när isManagedImage = true && templateType = builtin.

Anger namnet på den hanterade diskens avbildning för automatiskt genererade mallar.


location - Lagringsplats
string. Krävs när templateType = builtin.

Anger platsen för lagring av den skapade datorbilden. Den här platsen används också för att skapa en tillfällig virtuell dator för att skapa en avbildning.


storageAccountName - Lagringskonto
string. Krävs när templateType = builtin.

Anger lagringskontot för lagring av den skapade datorbilden. Det här lagringskontot måste vara befintligt på den valda platsen.


azureResourceGroup - Resursgrupp
string. Krävs när templateType = builtin.

Anger den Azure-resursgrupp som innehåller det valda lagringskontot.


baseImageSource - Basavbildningskälla
string. Krävs när templateType = builtin. Tillåtna värden: default (galleri), customVhd (anpassad). Standardvärde: default.

Anger basavbildningens källa. Du kan antingen välja från ett kuraterat galleri med OS-avbildningar eller ange en URL för din anpassade VHD-avbildning.

Anteckning

Om du har valt alternativet för att skapa en hanterad avbildning genom att kontrollera Managed VM disk image alternativet bör du bara välja alternativet Gallery här. Custom källan stöds inte för att skapa en hanterad avbildning.


baseImage - Basavbildning
string. Krävs när baseImageSource = default && templateType = builtin. Tillåtna värden: 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 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). Standardvärde: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Väljer från en kuraterad lista över OS-avbildningar. Detta används för att installera förutsättningar och program innan du samlar in en datorbild.


baseImage - Basavbildning
string. Krävs när baseImageSource = default && templateType = builtin. Tillåtna värden: 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). Standardvärde: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Väljer från en kuraterad lista över OS-avbildningar. Detta används för att installera förutsättningar och program innan du samlar in en datorbild.


customImageUrl - Url för basavbildning
string. Krävs när baseImageSource = customVhd && templateType = builtin.

Anger URL:en för en basavbildning. Detta används för att installera förutsättningar och program innan du samlar in en datorbild.


customImageOSType - Basavbildningsoperativsystem
string. Krävs när baseImageSource = customVhd && templateType = builtin. Tillåtna värden: windows, linux. Standardvärde: windows.


packagePath - Distributionspaket
string. Krävs när templateType = builtin.

Anger sökvägen för en distributionspaketkatalog i förhållande till $(System.DefaultWorkingDirectory). Stöder ett minimatchmönster. Exempelsökväg: FrontendWebApp/**/GalleryApp

Anteckning

Det här paketet kopieras till en tillfällig virtuell dator som Packer skapar. Om paketet innehåller ett stort antal filer och/eller filerna är mycket stora kan uppladdningen ta lång tid (eventuellt i några timmar). Om du vill optimera uppladdningstiden kan du se om paketets storlek kan minskas på ett meningsfullt sätt. Ett annat alternativ är att använda ett mellanliggande Azure Storage-konto. Ladda upp paketet till ett lagringskonto innan du kör den här uppgiften. För den här uppgiften använder du ett paket som innehåller ett skript som laddar ned det nödvändiga paketet från lagringskontot.


deployScriptPath - Distributionsskript
string. Krävs när templateType = builtin.

Anger den relativa sökvägen till powershell-skriptet (för Windows) eller shell-skriptet (för Linux) som distribuerar paketet. Det här skriptet ska finnas i den paketsökväg som valts ovan. Stöder ett minimatchmönster. Exempelsökväg: deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - Argument för distributionsskript
string. Valfritt. Använd när templateType = builtin.

Anger de argument som ska skickas till distributionsskriptet.


additionalBuilderParameters - Ytterligare Builder-parametrar
string. Valfritt. Använd när templateType = builtin. Standardvärde: {"vm_size":"Standard_D3_v2"}.

I det automatiskt genererade Packer-mallläget skapar uppgiften en Packer-mall med en Azure-byggare. Den här byggaren används för att generera en datorbild. Du kan lägga till nycklar i Azure Builder för att anpassa den genererade Packer-mallen. Exempel: Ange ssh_tty=true om du använder en CentOS-basavbildning och du behöver ha en tty för att köra sudo. Om du vill visa/redigera de ytterligare parametrarna i ett rutnät klickar du på bredvid textrutan.


skipTempFileCleanupDuringVMDeprovision - Hoppa över tillfällig rensning av filer under avetablering
boolean. Valfritt. Använd när templateType = builtin. Standardvärde: true.

Under avetablering av en virtuell dator hoppar du över rensningen av temporära filer som laddats upp till den virtuella datorn. Läs mer om Azure Virtual Machine Image Builders i Packer.


packerVersion - Packer-version
string. Valfritt. Använd när templateType = custom.

Anger vilken version av Packer som ska installeras. Detta fungerar endast med anpassade mallar.


imageUri - Bild-URL eller namn
string.

Anger ett namn för utdatavariabeln som lagrar VHD-URL:en för den genererade datoravbildningen för en ohanterad VM-avbildning eller avbildningsnamnet för en hanterad VM-avbildning.


imageId - Azure-resurs-ID
string.

Anger ett namn för utdatavariabeln som lagrar Azure-resurs-ID:t för den nyligen skapade avbildningen. Detta gäller endast för hanterade avbildningar.


Kontrollalternativ för aktivitet

Alla aktiviteter har kontrollalternativ utöver sina aktivitetsindata. Mer information finns i Kontrollalternativ och vanliga uppgiftsegenskaper.

Utdatavariabler

Inga.

Kommentarer

Använd den här uppgiften för att skapa en datorbild med Packer. Den här avbildningen kan användas för distribution av vm-skalningsuppsättningar i Azure.

Anteckning

Om du vill aktivera detaljerade loggar går du till Pipelines>Edit>Variables (Redigera variabler) och lägger sedan till en ny variabel PACKER_LOG och anger värdet till 1.

Krav

Krav Beskrivning
Pipelinetyper YAML, klassisk version, klassisk version
Körs på Agent, DeploymentGroup
Krav Ingen
Funktioner Den här aktiviteten uppfyller inte några krav för efterföljande uppgifter i jobbet.
Kommandobegränsningar Valfri
Inställningsbara variabler Valfri
Agentversion 2.0.0 eller senare
Uppgiftskategori Distribuera