tarefa PackerBuild@1 - Criar imagem do computador v1

Use esta tarefa para criar uma imagem de computador usando o Packer, que pode ser usado 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.
# 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.

Entradas

templateType - Modelo do Packer
string. Obrigatórios. 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 do Packer
string. Obrigatório quando templateType = custom.

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


customTemplateParameters - Parâmetros de modelo
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 versão. Para exibir/editar os parâmetros adicionais em uma grade, clique em ao lado da caixa de texto.


ConnectedServiceName - Assinatura do Azure
string. Obrigatório quando templateType = builtin.

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


isManagedImage - Imagem de disco de 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. Obrigatório quando isManagedImage = true && templateType = builtin.

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


location - Local de armazenamento
string. Obrigatório quando templateType = builtin.

Especifica o local para armazenar a imagem do computador 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. Obrigatório quando templateType = builtin.

Especifica a conta de armazenamento para armazenar a imagem do computador criada. Essa conta de armazenamento precisa ser pré-existente no local selecionado.


azureResourceGroup - Grupo de recursos
string. Obrigatório quando templateType = builtin.

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


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

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

Observação

Se você tiver selecionado a opção de criar uma Imagem gerenciada verificando a opção Managed VM disk image , deverá escolher apenas a opção Gallery aqui. Custom não há suporte para a origem para criar uma imagem gerenciada.


baseImage - Imagem base
string. Obrigató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), (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 entre uma lista coletada de imagens do sistema operacional. Isso será usado para instalar pré-requisitos e aplicativos antes de capturar uma imagem do computador.


baseImage - Imagem base
string. Obrigató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), (Ubuntu 16.04-SP1) Canonical:UbuntuServer:16.04-LTS:linux 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 entre uma lista coletada de imagens do sistema operacional. Isso será usado para instalar pré-requisitos e aplicativos antes de capturar uma imagem do computador.


customImageUrl - URL da imagem base
string. Obrigató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 do computador.


customImageOSType - Sistema operacional de imagem base
string. Obrigatório quando baseImageSource = customVhd && templateType = builtin. Valores Permitidos: windows e linux. Valor padrão: windows.


packagePath - Pacote de Implantação
string. Obrigatório quando templateType = builtin.

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

Observação

Esse 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 em tamanho, o upload poderá levar muito tempo (possivelmente em execução por algumas horas). Para otimizar o tempo de carregamento, veja se o tamanho do pacote pode ser significativamente reduzido. 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 essa tarefa, use um pacote que contém um script que baixará o pacote necessário da conta de armazenamento.


deployScriptPath - Script de implantação
string. Obrigatório quando templateType = builtin.

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


deployScriptArguments - Argumentos de 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 Construtor
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. Esse compilador é usado para gerar uma imagem de computador. Você pode adicionar chaves ao compilador 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 sudo. Para exibir/editar os parâmetros adicionais em uma grade, clique em ao lado da caixa de texto.


skipTempFileCleanupDuringVMDeprovision - Ignorar a limpeza temporária de arquivos durante o 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 do 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 VHD da imagem de computador gerada para uma imagem de VM não gerenciada ou o nome da imagem para uma imagem de VM gerenciada.


imageId - ID do 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 da tarefa

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

Variáveis de saída

Nenhum.

Comentários

Use essa tarefa para criar uma imagem de computador 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>Editar>Variáveis, adicione uma nova variável PACKER_LOG e defina o valor dela como 1.

Requisitos

Requisito Descrição
Tipos de pipeline YAML, build clássico, versão clássica
Executa em Agent, DeploymentGroup
Demandas Nenhum
Funcionalidades Essa tarefa não atende a nenhuma demanda para tarefas subsequentes no trabalho.
Restrições de comando Qualquer
Variáveis configuráveis Qualquer
Versão do agente 2.0.0 ou superior
Categoria da tarefa Implantar