Condividi tramite


PackerBuild@1 - Attività Di compilazione dell'immagine del computer v1

Usare questa attività per compilare un'immagine del computer usando Packer, che può essere usata per la distribuzione del set di scalabilità di macchine virtuali di Azure.

Sintassi

# 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.

Input

templateType - Modello packer
string. Obbligatorio. Valori consentiti: builtin (generato automaticamente), custom (utente fornito). Valore predefinito: builtin.

Specifica se l'attività genera automaticamente un modello packer o usa un modello personalizzato fornito dall'utente.


customTemplateLocation - Percorso del modello di Packer
string. Obbligatorio quando templateType = custom.

Specifica il percorso di un modello personalizzato fornito dall'utente.


customTemplateParameters - Parametri del modello
string. facoltativo. Usare quando templateType = custom. Valore predefinito: {}.

Specifica i parametri che verranno passati a Packer per la creazione di un modello personalizzato. Verrà eseguito il mapping a una variables sezione del modello personalizzato. Ad esempio, se il modello ha una variabile denominata drop-location, aggiungere qui un parametro con il nome drop-location e un valore che si vuole usare. È anche possibile collegare il valore a una variabile di versione. Per visualizzare/modificare i parametri aggiuntivi in una griglia, fare clic su accanto alla casella di testo.


ConnectedServiceName - Sottoscrizione di Azure
string. Obbligatorio quando templateType = builtin.

Specifica la sottoscrizione di Azure Resource Manager per la cottura e l'archiviazione dell'immagine del computer.


isManagedImage - Immagine del disco della macchina virtuale gestita
boolean. facoltativo. Usare quando templateType = builtin. Valore predefinito: true.

Controlla se l'immagine generata deve essere un'immagine gestita.


managedImageName - Nome immagine disco macchina virtuale gestita
string. Obbligatorio quando isManagedImage = true && templateType = builtin.

Specifica il nome dell'immagine del disco gestito per i modelli generati automaticamente.


location - Posizione di archiviazione
string. Obbligatorio quando templateType = builtin.

Specifica il percorso per l'archiviazione dell'immagine del computer compilata. Questa posizione verrà usata anche per creare una macchina virtuale temporanea allo scopo di creare un'immagine.


storageAccountName - Account di archiviazione
string. Obbligatorio quando templateType = builtin.

Specifica l'account di archiviazione per l'archiviazione dell'immagine del computer compilata. Questo account di archiviazione deve essere preesistente nella posizione selezionata.


azureResourceGroup - Gruppo di risorse
string. Obbligatorio quando templateType = builtin.

Specifica il gruppo di risorse di Azure che contiene l'account di archiviazione selezionato.


baseImageSource - Origine dell'immagine di base
string. Obbligatorio quando templateType = builtin. Valori consentiti: default (Raccolta), customVhd (Personalizzato). Valore predefinito: default.

Specifica l'origine dell'immagine di base. È possibile scegliere da una raccolta curata di immagini del sistema operativo o specificare un URL dell'immagine VHD personalizzata.

Nota

Se è stata selezionata l'opzione per creare un'immagine gestita selezionando l'opzione Managed VM disk image , è consigliabile scegliere solo l'opzione Gallery qui. Custom source non è supportato per creare un'immagine gestita.


baseImage - Immagine di base
string. Obbligatorio quando baseImageSource = default && templateType = builtin. Valori consentiti: (Windows 2012-R2-Datacenter), (Windows 2016-Datacenter), (Windows 2012-Datacenter), MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows (Windows 2008-R2-SP1), Canonical:UbuntuServer:14.04.4-LTS:linuxMicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows (Ubuntu 14.04.4-LTS), MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows (Ubuntu 16.04-LTS), Canonical:UbuntuServer:16.04-LTS:linuxCanonical:UbuntuServer:18.04-LTS:linux (Ubuntu 18.04-LTS), (RHEL 7.2), RedHat:RHEL:6.8:linux (RHEL 6.8), OpenLogic:CentOS:7.2:linux (CentOS 7.2), RedHat:RHEL:7.2:linuxOpenLogic: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). MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows Valore predefinito: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Sceglie da un elenco curato di immagini del sistema operativo. Verrà usato per l'installazione dei prerequisiti e delle applicazioni prima di acquisire un'immagine del computer.


baseImage - Immagine di base
string. Obbligatorio quando baseImageSource = default && templateType = builtin. Valori consentiti: (Windows 2012-R2-Datacenter), (Windows 2016-Datacenter), (Windows 2012-Datacenter), MicrosoftWindowsServer:WindowsServer:2008-R2-SP1:windows (Windows 2008-R2-SP1), Canonical:UbuntuServer:14.04.4-LTS:linuxMicrosoftWindowsServer:WindowsServer:2016-Datacenter:windows (Ubuntu 14.04.4-LTS), MicrosoftWindowsServer:WindowsServer:2012-Datacenter:windows (Ubuntu 16.04-LTS), RedHat:RHEL:7.2:linuxCanonical:UbuntuServer:16.04-LTS:linux (R)HEL 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). MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows Valore predefinito: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Sceglie da un elenco curato di immagini del sistema operativo. Verrà usato per l'installazione dei prerequisiti e delle applicazioni prima di acquisire un'immagine del computer.


customImageUrl - URL dell'immagine di base
string. Obbligatorio quando baseImageSource = customVhd && templateType = builtin.

Specifica l'URL di un'immagine di base. Verrà usato per l'installazione dei prerequisiti e delle applicazioni prima di acquisire un'immagine del computer.


customImageOSType - Sistema operativo dell'immagine di base
string. Obbligatorio quando baseImageSource = customVhd && templateType = builtin. Valori consentiti: windows, linux. Valore predefinito: windows.


packagePath - Pacchetto di distribuzione
string. Obbligatorio quando templateType = builtin.

Specifica il percorso di una directory del pacchetto di distribuzione rispetto a $(System.DefaultWorkingDirectory). Supporta un modello minimatch. Percorso di esempio: FrontendWebApp/**/GalleryApp

Nota

Questo pacchetto verrà copiato in una macchina virtuale temporanea creata da Packer. Se il pacchetto contiene un numero elevato di file e/o i file sono di dimensioni molto grandi, il caricamento può richiedere molto tempo (possibilmente in esecuzione per alcune ore). Per ottimizzare il tempo di caricamento, verificare se le dimensioni del pacchetto possono essere ridotte significativamente. Un'altra alternativa consiste nell'usare un account di archiviazione di Azure intermedio. Caricare il pacchetto in un account di archiviazione prima di eseguire questa attività. Per questa attività, usare un pacchetto contenente uno script che scaricherà il pacchetto richiesto dall'account di archiviazione.


deployScriptPath - Script di distribuzione
string. Obbligatorio quando templateType = builtin.

Specifica il percorso relativo dello script di PowerShell (per Windows) o dello script della shell (per Linux) che distribuisce il pacchetto. Questo script deve essere contenuto nel percorso del pacchetto selezionato in precedenza. Supporta un modello minimatch. Percorso di esempio: deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - Argomenti dello script di distribuzione
string. facoltativo. Usare quando templateType = builtin.

Specifica gli argomenti da passare allo script di distribuzione.


additionalBuilderParameters - Parametri aggiuntivi del generatore
string. facoltativo. Usare quando templateType = builtin. Valore predefinito: {"vm_size":"Standard_D3_v2"}.

Nella modalità modello Packer generata automaticamente, l'attività crea un modello Packer con un generatore di Azure. Questo generatore viene usato per generare un'immagine del computer. È possibile aggiungere chiavi al generatore di Azure per personalizzare il modello packer generato. Ad esempio: impostare ssh_tty=true se si usa un'immagine di base CentOS e è necessario avere una tty per eseguire sudo. Per visualizzare/modificare i parametri aggiuntivi in una griglia, fare clic su accanto alla casella di testo.


skipTempFileCleanupDuringVMDeprovision - Ignorare la pulizia temporanea dei file durante il deprovision
boolean. facoltativo. Usare quando templateType = builtin. Valore predefinito: true.

Durante il deprovisioning di una macchina virtuale, ignora la pulizia dei file temporanei caricati nella macchina virtuale. Altre informazioni sui generatori di immagini di macchine virtuali di Azure in Packer.


packerVersion - Versione packer
string. facoltativo. Usare quando templateType = custom.

Specifica la versione di Packer da installare. Questo funzionerà solo con modelli personalizzati.


imageUri - URL o nome dell'immagine
string.

Specifica un nome per la variabile di output che archivierà l'URL VHD dell'immagine del computer generato per un'immagine macchina virtuale non gestita o il nome dell'immagine per un'immagine di macchina virtuale gestita.


imageId - ID risorsa di Azure
string.

Specifica un nome per la variabile di output che archivierà l'ID risorsa di Azure per l'immagine appena creata. Questa operazione è solo per le immagini gestite.


Opzioni di controllo delle attività

Tutte le attività dispongono di opzioni di controllo oltre ai relativi input attività. Per altre informazioni, vedere Opzioni di controllo e proprietà comuni delle attività.

Variabili di output

Nessuno.

Osservazioni

Usare questa attività per compilare un'immagine del computer usando Packer. Questa immagine può essere usata per la distribuzione del set di scalabilità di macchine virtuali di Azure.

Nota

Se si desidera abilitare i log dettagliati, passare a Pipelines>Modifica>variabili e quindi aggiungere una nuova variabile PACKER_LOG e impostarne il valore su 1.

Requisiti

Requisito Descrizione
Tipi di pipeline YAML, build classica, versione classica
Esecuzione in Agente, DeploymentGroup
Richieste Nessuno
Capabilities Questa attività non soddisfa le richieste per le attività successive nel processo.
Restrizioni dei comandi Qualsiasi
Variabili impostabili Qualsiasi
Versione agente 2.0.0 o versione successiva
Categoria attività Distribuire