Sdílet prostřednictvím


PackerBuild@1 – úloha Sestavení image počítače v1

Tuto úlohu použijte k vytvoření image počítače pomocí Nástroje Packer, která se dá použít pro nasazení škálovací sady virtuálních počítačů 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.

Vstupy

templateType - Šablona packeru
string. Povinná hodnota. Povolené hodnoty: builtin (automaticky vygenerované), custom (uživatel zadal). Výchozí hodnota: builtin.

Určuje, jestli úloha automaticky vygeneruje šablonu Packeru nebo používá vlastní šablonu, kterou jste poskytli.


customTemplateLocation - Umístění šablony packeru
string. Vyžaduje se, když templateType = custom.

Určuje cestu k vlastní šabloně poskytnuté uživatelem.


customTemplateParameters - Parametry šablony
string. Nepovinný parametr. Použijte, když templateType = custom. Výchozí hodnota: {}.

Určuje parametry, které budou předány packeru pro vytvoření vlastní šablony. Tato možnost by se měla mapovat na variables oddíl ve vlastní šabloně. Pokud má například šablona proměnnou s názvem drop-location, přidejte sem parametr s názvem drop-location a hodnotou, kterou chcete použít. Hodnotu můžete také propojit s proměnnou verze. Pokud chcete zobrazit nebo upravit další parametry v mřížce, klikněte na vedle textového pole.


ConnectedServiceName - Předplatné Azure
string. Vyžaduje se, když templateType = builtin.

Určuje předplatné Azure Resource Manager pro pečení a uložení image počítače.


isManagedImage - Image spravovaného disku virtuálního počítače
boolean. Nepovinný parametr. Použijte, když templateType = builtin. Výchozí hodnota: true.

Zkontroluje, jestli má být vygenerovaná image spravovaná.


managedImageName - Název image spravovaného disku virtuálního počítače
string. Vyžaduje se, když isManagedImage = true && templateType = builtin.

Určuje název image spravovaného disku pro automaticky generované šablony.


location - Umístění úložiště
string. Vyžaduje se, když templateType = builtin.

Určuje umístění pro uložení image sestaveného počítače. Toto umístění se také použije k vytvoření dočasného virtuálního počítače za účelem vytvoření image.


storageAccountName - Účet úložiště
string. Vyžaduje se, když templateType = builtin.

Určuje účet úložiště pro ukládání sestavené image počítače. Tento účet úložiště musí ve vybraném umístění existovat.


azureResourceGroup - Skupina prostředků
string. Vyžaduje se, když templateType = builtin.

Určuje skupinu prostředků Azure, která obsahuje vybraný účet úložiště.


baseImageSource - Zdroj základní image
string. Vyžaduje se, když templateType = builtin. Povolené hodnoty: default (Galerie), customVhd (Vlastní). Výchozí hodnota: default.

Určuje zdroj základní image. Můžete si vybrat z kurátorované galerie imagí operačního systému nebo zadat adresu URL vlastní image virtuálního pevného disku.

Poznámka

Pokud jste zaškrtnutím Managed VM disk image této možnosti vybrali možnost vytvořit spravovanou image, měli byste zvolit jenom tuto Gallery možnost. Custom vytvoření spravované image není podporováno.


baseImage - Základní obrázek
string. Vyžaduje se, když baseImageSource = default && templateType = builtin. Povolené hodnoty: 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.0404-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). Výchozí hodnota: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Vybere si z kurátorovaného seznamu imagí operačního systému. Použije se k instalaci požadavků a aplikací před zachycením image počítače.


baseImage - Základní obrázek
string. Vyžaduje se, když baseImageSource = default && templateType = builtin. Povolené hodnoty: 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). Výchozí hodnota: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Vybere si z kurátorovaného seznamu imagí operačního systému. Použije se k instalaci požadavků a aplikací před zachycením image počítače.


customImageUrl - Adresa URL základního obrázku
string. Vyžaduje se, když baseImageSource = customVhd && templateType = builtin.

Určuje adresu URL základního obrázku. Použije se k instalaci požadavků a aplikací před zachycením image počítače.


customImageOSType - Operační systém základní image
string. Vyžaduje se, když baseImageSource = customVhd && templateType = builtin. Povolené hodnoty: windows, linux. Výchozí hodnota: windows.


packagePath - Balíček nasazení
string. Vyžaduje se, když templateType = builtin.

Určuje cestu pro adresář balíčku nasazení vzhledem k $(System.DefaultWorkingDirectory). Podporuje vzor minimatch. Příklad cesty: FrontendWebApp/**/GalleryApp

Poznámka

Tento balíček se zkopíruje do dočasného virtuálního počítače, který Packer vytvoří. Pokud balíček obsahuje velký počet souborů nebo pokud jsou soubory velmi velké, může nahrávání trvat dlouho (možná několik hodin). Pokud chcete optimalizovat dobu nahrávání, podívejte se, jestli je možné smysluplně zmenšit velikost balíčku. Další alternativou je použití zprostředkujícího účtu úložiště Azure. Před spuštěním této úlohy nahrajte balíček do účtu úložiště. Pro tento úkol použijte balíček obsahující skript, který stáhne požadovaný balíček z účtu úložiště.


deployScriptPath - Skript nasazení
string. Vyžaduje se, když templateType = builtin.

Určuje relativní cestu ke skriptu PowerShellu (pro Windows) nebo ke skriptu prostředí (pro Linux), který balíček nasadí. Tento skript by měl být obsažen v cestě ke balíčku vybrané výše. Podporuje vzor minimatch. Příklad cesty: deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - Argumenty skriptu nasazení
string. Nepovinný parametr. Použijte, když templateType = builtin.

Určuje argumenty, které se mají předat skriptu nasazení.


additionalBuilderParameters - Další parametry tvůrce
string. Nepovinný parametr. Použijte, když templateType = builtin. Výchozí hodnota: {"vm_size":"Standard_D3_v2"}.

V režimu automaticky vygenerované šablony Packeru úloha vytvoří šablonu Packeru s tvůrcem Azure. Tento tvůrce se používá k vygenerování image počítače. Do Tvůrce Azure můžete přidat klíče a přizpůsobit tak vygenerovanou šablonu Packeru. Příklad: Nastavení ssh_tty=true , pokud používáte základní image CentOS a potřebujete mít tty ke spuštění sudo. Pokud chcete zobrazit nebo upravit další parametry v mřížce, klikněte na vedle textového pole.


skipTempFileCleanupDuringVMDeprovision - Přeskočit dočasné čištění souborů během zrušení zřízení
boolean. Nepovinný parametr. Použijte, když templateType = builtin. Výchozí hodnota: true.

Během rušení zřízení virtuálního počítače přeskočí vyčištění dočasných souborů nahraných do virtuálního počítače. Přečtěte si další informace o nástroji Azure Virtual Machine Image Builders v Packeru.


packerVersion - Verze packeru
string. Nepovinný parametr. Použijte, když templateType = custom.

Určuje verzi packeru, která se má nainstalovat. To bude fungovat jenom s vlastními šablonami.


imageUri - Adresa URL nebo název obrázku
string.

Určuje název výstupní proměnné, která uloží vygenerovanou image počítače adresu URL virtuálního pevného disku pro nespravovanou image virtuálního počítače nebo název image spravované image virtuálního počítače.


imageId - ID prostředku Azure
string.

Určuje název výstupní proměnné, do které se uloží ID prostředku Azure pro nově vytvořenou image. To je jenom pro spravované image.


Možnosti ovládání úloh

Všechny úlohy mají kromě vstupů také možnosti ovládání. Další informace najdete v tématu Možnosti ovládacího prvku a běžné vlastnosti úlohy.

Výstupní proměnné

Žádné

Poznámky

Tuto úlohu použijte k vytvoření image počítače pomocí Packeru. Tuto image je možné použít pro nasazení škálovací sady virtuálních počítačů Azure.

Poznámka

Pokud chcete povolit podrobné protokoly, přejděte na Kanály>Upravit>proměnné, přidejte novou proměnnou PACKER_LOG a nastavte její hodnotu na 1.

Požadavky

Požadavek Popis
Typy kanálů YAML, classic build, verze Classic
Spustí se Agent, DeploymentGroup
Požadavky Žádné
Možnosti Tento úkol nesplňuje žádné požadavky na následné úkoly v úloze.
Omezení příkazů Všechny
Nastavitelné proměnné Všechny
Verze agenta 2.0.0 nebo vyšší
Kategorie úloh Nasazení