Partilhar via


PackerBuild@1 - Compilar a tarefa de imagem do computador v1

Utilize esta tarefa para criar uma imagem de máquina com o Packer, que pode ser utilizado para a implementação do conjunto de dimensionamento de máquinas virtuais do 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.

Entradas

templateType - Modelo do Packer
string. Obrigatório. Valores permitidos: builtin (Gerado automaticamente), custom (Utilizador fornecido). Valor predefinido: builtin.

Especifica se a tarefa gera automaticamente um modelo do Packer ou utiliza um modelo personalizado fornecido por si.


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

Especifica o caminho para um modelo personalizado fornecido pelo utilizador.


customTemplateParameters - Parâmetros do modelo
string. Opcional. Utilize quando templateType = custom. Valor predefinido: {}.

Especifica os parâmetros que serão transmitidos ao Packer para criar um modelo personalizado. Esta ação deve ser mapeado para uma variables secção no seu modelo personalizado. Por exemplo, se o modelo tiver uma variável com o nome drop-location, adicione um parâmetro aqui com o nome drop-location e um valor que pretende utilizar. Também pode ligar o valor a uma variável de versão. Para ver/editar os parâmetros adicionais numa grelha, clique em junto à caixa de texto.


ConnectedServiceName - Subscrição do Azure
string. Necessário quando templateType = builtin.

Especifica a subscrição do Azure Resource Manager para assar e armazenar a imagem do computador.


isManagedImage - Imagem de disco de VM gerida
boolean. Opcional. Utilize quando templateType = builtin. Valor predefinido: true.

Verifica se a imagem gerada deve ser uma imagem gerida.


managedImageName - Nome da Imagem do Disco da VM Gerida
string. Necessário quando isManagedImage = true && templateType = builtin.

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


location - Localização do armazenamento
string. Necessário quando templateType = builtin.

Especifica a localização para armazenar a imagem da máquina incorporada. Esta localização também será utilizada para criar uma VM temporária com o objetivo de criar uma imagem.


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

Especifica a conta de armazenamento para armazenar a imagem do computador criado. Esta conta de armazenamento tem de estar pré-existente na localização selecionada.


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 - Origem da imagem de base
string. Necessário quando templateType = builtin. Valores permitidos: default (Galeria), customVhd (Personalizado). Valor predefinido: default.

Especifica a origem da imagem de base. Pode escolher a partir de uma galeria organizada de imagens do SO ou fornecer um URL da sua imagem de VHD personalizada.

Nota

Se tiver selecionado a opção para criar uma imagem gerida ao verificar a opção Managed VM disk image , deve escolher apenas a opção Gallery aqui. Custom a origem não é suportada para criar uma imagem gerida.


baseImage - Imagem de 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 predefinido: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Escolhe a partir de uma lista organizada de imagens do SO. Isto será utilizado para instalar pré-requisitos e aplicações antes de capturar uma imagem do computador.


baseImage - Imagem de 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), 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 predefinido: MicrosoftWindowsServer:WindowsServer:2012-R2-Datacenter:windows.

Escolhe a partir de uma lista organizada de imagens do SO. Isto será utilizado para instalar pré-requisitos e aplicações antes de capturar uma imagem do computador.


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

Especifica o URL de uma imagem base. Isto será utilizado para instalar pré-requisitos e aplicações antes de capturar uma imagem do computador.


customImageOSType - SO da imagem de base
string. Necessário quando baseImageSource = customVhd && templateType = builtin. Valores permitidos: windows, linux. Valor predefinido: windows.


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

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

Nota

Este pacote será copiado para uma máquina virtual temporária criada pelo Packer. Se o pacote contiver um grande número de ficheiros e/ou os ficheiros forem muito grandes, o carregamento pode demorar muito tempo (possivelmente em execução durante algumas horas). Para otimizar o tempo de carregamento, veja se o tamanho do pacote pode ser significativamente reduzido. Outra alternativa é utilizar uma conta de armazenamento do Azure intermediária. Carregue o pacote para uma conta de armazenamento antes de executar esta tarefa. Para esta tarefa, utilize um pacote que contenha um script que transfira o pacote necessário a partir da conta de armazenamento.


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

Especifica o caminho relativo para o script do PowerShell (para Windows) ou o script da shell (para Linux) que implementa o pacote. Este 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 implementação
string. Opcional. Utilize quando templateType = builtin.

Especifica os argumentos a serem transmitidos para o script de implementação.


additionalBuilderParameters - Parâmetros adicionais do Builder
string. Opcional. Utilize quando templateType = builtin. Valor predefinido: {"vm_size":"Standard_D3_v2"}.

No modo de modelo Packer gerado automaticamente, a tarefa cria um modelo Packer com um construtor do Azure. Este construtor é utilizado para gerar uma imagem de computador. Pode adicionar chaves ao construtor do Azure para personalizar o modelo packer gerado. Por exemplo: definição ssh_tty=true se estiver a utilizar uma imagem base do CentOS e precisar de ter um tty para executar sudo. Para ver/editar os parâmetros adicionais numa grelha, clique em junto à caixa de texto.


skipTempFileCleanupDuringVMDeprovision - Ignorar a limpeza temporária de ficheiros durante a desaprovisionamento
boolean. Opcional. Utilize quando templateType = builtin. Valor predefinido: true.

Durante o desaprovisionamento de uma VM, ignora a limpeza dos ficheiros temporários carregados para a VM. Saiba mais sobre os Construtores de Imagens de Máquinas Virtuais do Azure no Packer.


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

Especifica a versão do Packer a instalar. Isto funcionará apenas com modelos personalizados.


imageUri - URL ou Nome da Imagem
string.

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


imageId - ID do Recurso do Azure
string.

Especifica um nome para a variável de saída que irá armazenar o ID de Recurso do Azure para a imagem criada recentemente. Isto destina-se apenas a imagens geridas.


Opções de controlo de tarefas

Todas as tarefas têm opções de controlo para além das entradas de tarefas. Para obter mais informações, veja Opções de controlo e propriedades de tarefas comuns.

Variáveis de saída

Nenhum.

Observações

Utilize esta tarefa para criar uma imagem de computador com o Packer. Esta imagem pode ser utilizada para a implementação do conjunto de dimensionamento de máquinas virtuais do Azure.

Nota

Se quiser ativar registos detalhados, navegue para Pipelines>Editar>Variáveis e, em seguida, adicione uma nova variável PACKER_LOG e defina o respetivo valor como 1.

Requisitos

Requisito Description
Tipos de pipeline YAML, Compilação clássica, Versão clássica
É executado em Agente, DeploymentGroup
Exigências Nenhuma
Capacidades Esta tarefa não satisfaz quaisquer exigências para tarefas subsequentes na tarefa.
Restrições de comandos Qualquer
Variáveis de tabelas definidas Qualquer
Versão do agente 2.0.0 ou superior
Categoria da tarefa Implementação