Compartilhar via


PackerBuild@1 – Tarefa Criar imagem de computador v1

Use esta tarefa para criar uma imagem de computador usando o Packer, que pode ser usada para a implantação do conjunto de dimensionamento de máquinas virtuais do Azure.

Sintaxe

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

Entradas

templateType - Modelo de empacotador
string. Obrigatório Valores permitidos: builtin (Gerado automaticamente), custom (Fornecido pelo usuário). Valor padrão: builtin.

Especifica se a tarefa gera automaticamente um modelo do Packer ou usa um modelo personalizado fornecido por você.


customTemplateLocation - Localização do modelo de empacotador
string. Necessário quando templateType = custom.

Especifica o caminho para um modelo personalizado fornecido pelo usuário.


parâmetros de modelo de customTemplateParameters -
string. Opcional. Use quando templateType = custom. Valor padrão: {}.

Especifica os parâmetros que serão passados para o Packer para criar um modelo personalizado. Isso deve ser mapeado para uma variables seção em seu modelo personalizado. Por exemplo, se o modelo tiver uma variável chamada drop-location, adicione um parâmetro aqui com o nome drop-location e um valor que você deseja usar. Você também pode vincular o valor a uma variável de liberação. Para visualizar/editar os parâmetros adicionais em uma grade, clique em ao lado da caixa de texto.


ConnectedServiceName - assinatura do Azure
string. Necessário quando templateType = builtin.

Especifica a assinatura do Azure Resource Manager para preparar e armazenar a imagem do computador.


isManagedImage - Imagem de disco da VM gerenciada
boolean. Opcional. Use quando templateType = builtin. Valor padrão: true.

Verifica se a imagem gerada deve ser uma imagem gerenciada.


managedImageName - Nome da imagem de disco da VM gerenciada
string. Necessário quando isManagedImage = true && templateType = builtin.

Especifica o nome da imagem de disco gerenciado para modelos gerados automaticamente.


location - Local de armazenamento
string. Necessário quando templateType = builtin.

Especifica o local para armazenar a imagem da máquina criada. Esse local também será usado para criar uma VM temporária com a finalidade de criar uma imagem.


storageAccountName - Conta de armazenamento
string. Necessário quando templateType = builtin.

Especifica a conta de armazenamento para armazenar a imagem de máquina criada. Essa conta de armazenamento deve ser pré-existente no local selecionado.


azureResourceGroup - grupo de recursos
string. Necessário quando templateType = builtin.

Especifica o grupo de recursos do Azure que contém a conta de armazenamento selecionada.


baseImageSource - Fonte da imagem base
string. Necessário quando templateType = builtin. Valores permitidos: default (Galeria), customVhd (Personalizado). Valor padrão: default.

Especifica a origem da imagem base. Você pode escolher em uma galeria selecionada de imagens do sistema operacional ou fornecer uma URL de sua imagem VHD personalizada.

Observação

Se você selecionou a opção para criar uma imagem gerenciada marcando a Managed VM disk image opção, escolha apenas a Gallery opção aqui. Custom source não é suportado para criar uma imagem gerenciada.


baseImage - Imagem base
string. Necessário quando baseImageSource = default && templateType = builtin. Valores permitidos: 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). Valor padrão: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Escolhe em uma lista selecionada de imagens do sistema operacional. Isso será usado para instalar pré-requisitos e aplicativos antes de capturar uma imagem de máquina.


customImageUrl - URL da imagem base
string. Necessário quando baseImageSource = customVhd && templateType = builtin.

Especifica a URL de uma imagem base. Isso será usado para instalar pré-requisitos e aplicativos antes de capturar uma imagem de máquina.


customImageOSType - Sistema operacional de imagem base
string. Necessário quando baseImageSource = customVhd && templateType = builtin. Valores permitidos: windows, linux. Valor padrão: windows.


packagePath - Pacote de implantação
string. Necessário quando templateType = builtin.

Especifica o caminho para um diretório de pacote de implantação relativo a $(System.DefaultWorkingDirectory). Suporta um padrão de minimatch. Exemplo de caminho: FrontendWebApp/**/GalleryApp

Observação

Este pacote será copiado para uma máquina virtual temporária que o Packer cria. Se o pacote contiver um grande número de arquivos e/ou os arquivos forem muito grandes, o upload pode levar muito tempo (possivelmente em execução por algumas horas). Para otimizar o tempo de upload, veja se o tamanho do pacote pode ser reduzido significativamente. Outra alternativa é usar uma conta de armazenamento intermediária do Azure. Carregue o pacote em uma conta de armazenamento antes de executar essa tarefa. Para esta tarefa, use um pacote que contenha um script que baixará o pacote necessário da conta de armazenamento.


deployScriptPath - Script de implantação
string. Necessário quando templateType = builtin.

Especifica o caminho relativo para o script do PowerShell (para Windows) ou o script de shell (para Linux) que implanta o pacote. Esse script deve estar contido no caminho do pacote selecionado acima. Suporta um padrão de minimatch. Caminho de exemplo: deploy/**/scripts/windows/deploy.ps1.


deployScriptArguments - Argumentos do script de implantação
string. Opcional. Use quando templateType = builtin.

Especifica os argumentos a serem passados para o script de implantação.


additionalBuilderParameters - Parâmetros adicionais do Builder
string. Opcional. Use quando templateType = builtin. Valor padrão: {"vm_size":"Standard_D3_v2"}.

No modo de modelo do Packer gerado automaticamente, a tarefa cria um modelo do Packer com um construtor do Azure. Este construtor é usado para gerar uma imagem de máquina. Você pode adicionar chaves ao construtor do Azure para personalizar o modelo do Packer gerado. Por exemplo: Configuração ssh_tty=true se você estiver usando uma imagem base do CentOS e precisar ter um tty para executar sudoo . Para visualizar/editar os parâmetros adicionais em uma grade, clique em ao lado da caixa de texto.


skipTempFileCleanupDuringVMDeprovision - Ignorar a limpeza de arquivos temporários durante a desprovisionamento
boolean. Opcional. Use quando templateType = builtin. Valor padrão: true.

Durante o desprovisionamento de uma VM, ignora a limpeza de arquivos temporários carregados na VM. Saiba mais sobre os Construtores de Imagens de Máquina Virtual do Azure no Packer.


packerVersion - Versão Packer
string. Opcional. Use quando templateType = custom.

Especifica a versão do Packer a ser instalada. Isso funcionará apenas com modelos personalizados.


imageUri - URL ou nome da imagem
string.

Especifica um nome para a variável de saída que armazenará a URL do VHD da imagem do computador gerada para uma imagem de VM não gerenciada ou o nome da imagem para uma imagem de VM gerenciada.


imageId - ID de recurso do Azure
string.

Especifica um nome para a variável de saída que armazenará a ID de Recurso do Azure para a imagem recém-criada. Isso é apenas para imagens gerenciadas.


Opções de controle de tarefa

Todas as tarefas têm opções de controle além de suas entradas de tarefa. Para obter mais informações, consulte as opções de Controle de e as propriedades comuns da tarefa.

Variáveis de saída

Nenhum.

Observações

Use esta tarefa para criar uma imagem de máquina usando o Packer. Essa imagem pode ser usada para a implantação do conjunto de dimensionamento de máquinas virtuais do Azure.

Observação

Se você quiser habilitar logs detalhados, navegue até Pipelines>Edit>Variables e, em seguida, adicione uma nova variável PACKER_LOG e defina seu valor como 1.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Execuções em Agent, DeploymentGroup
de demandas Nenhum
recursos Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
restrições de comando Qualquer
variáveis settable Qualquer
Versão do agente 2.0.0 ou superior
Categoria de tarefa Implantar