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.
Observação
Essa tarefa não dá suporte à autenticação de Resource Manager do Azure com federação de identidade de fluxo de trabalho.
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 |