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.
Nota
Esta tarefa não suporta a autenticação Resource Manager do Azure com a federação de identidade do fluxo de trabalho.
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 |