Criar e gerenciar contêineres com tarefas

Concluído

As Tarefas do ACR são um pacote de recursos do Registro de Contêiner do Azure. Ele fornece construção de imagem de contêiner baseada em nuvem para plataformas, incluindo Linux, Windows e Azure Resource Manager, e pode automatizar o sistema operacional e patching de estrutura para seus contêineres Docker. O recurso Tarefas do ACR permite que builds automatizados sejam disparados por atualizações de código-fonte, atualizações da imagem base de um contêiner ou temporizadores.

Cenários de tarefas

As Tarefas do ACR são compatíveis com vários cenários para criar e manter imagens de contêiner e outros artefatos.

  • Tarefa rápida – compile e envie por push uma única imagem de contêiner para um registro de contêiner sob demanda, no Azure, sem a necessidade de uma instalação local do Docker Engine. Pense em docker build, docker push na nuvem.

  • Tarefas acionadas automaticamente – habilite um ou mais gatilhos para criar uma imagem:

    • Gatilho na atualização do código-fonte
    • Gatilho na atualização da imagem base
    • Gatilho em um agendamento
  • Tarefas de várias etapas – estendem a capacidade de compilação e envio por push de imagem única das Tarefas do ACR com fluxos de trabalho baseados em vários contêineres e várias etapas.

Cada Tarefa do ACR tem um contexto de código-fonte associado – o local de um conjunto de arquivos de origem usados para compilar uma imagem de contêiner ou outro artefato. Os contextos de exemplo incluem um repositório Git ou um sistema de arquivos local.

Tarefa rápida

Antes que você confirme sua primeira linha de código, o recurso tarefas rápidas das Tarefas do ACR pode fornecer uma experiência de desenvolvimento integrada ao descarregar os builds de imagem de contêiner no Azure. Com as tarefas rápidas, você pode verificar suas definições de build automatizadas e detectar possíveis problemas antes de confirmar o código.

Usando o formato familiar docker build, o comando az acr build na CLI do Azure usa um contexto (o conjunto de arquivos a ser compilado), envia-o às Tarefas do ACR e, por padrão, envia a imagem de compilação por push ao seu registro após a conclusão.

Tarefa de gatilho na atualização do código-fonte

Aciona um build de imagem de contêiner ou uma tarefa de várias etapas quando o código for confirmado ou uma solicitação de pull será realizada ou atualizada em um repositório Git no GitHub ou no Azure DevOps Services. Por exemplo, configure uma tarefa de build com o comando da CLI do Azure az acr task create especificando um repositório Git e, opcionalmente, um branch e um Dockerfile. Quando sua equipe atualiza o código no repositório, um webhook criado nas Tarefas do ACR dispara um build de imagem de contêiner definido no repositório.

Gatilho na atualização da imagem base

Você pode configurar uma Tarefa do ACR para rastrear uma dependência em uma imagem base ao criar uma imagem de aplicativo. Quando a imagem base atualizada é enviada por push para o registro ou uma imagem base é atualizada em um repositório público, como no Docker Hub, as Tarefas do ACR podem compilar automaticamente qualquer imagem de aplicativo baseada nela.

Agendar uma tarefa

Opcionalmente, agende uma tarefa configurando um ou mais gatilhos de temporizador ao criar ou atualizar a tarefa. Agendar uma tarefa é útil para executar cargas de trabalho de contêiner em um agendamento definido ou executar operações de manutenção ou testes em imagens enviadas por push regularmente para o registro.

Tarefas de várias etapas

A tarefas em várias etapas, definidas em um arquivo YAML, especificam operações individuais de build e push para imagens de contêiner ou outros artefatos. Elas também podem definir a execução de um ou mais contêineres, com cada etapa usando o contêiner como seu ambiente de execução. Por exemplo, você pode criar uma tarefa de várias etapa que automatiza o seguinte:

  1. Compilar uma imagem do aplicativo Web
  2. Executar o contêiner de aplicativo Web
  3. Compilar uma imagem de teste do aplicativo Web
  4. Executar o contêiner de teste de aplicativo Web que executa testes em relação à execução do contêiner de aplicativo
  5. Quando os testes são aprovados, compilar um pacote de arquivo morto de gráfico do Helm
  6. Executar um helm upgrade usando o novo pacote de arquivo morto do gráfico do Helm

Plataformas de imagem

Por padrão, as Tarefas do ACR criam imagens para o SO Linux e a arquitetura amd64. Especifique a marca --platform para criar imagens do Windows ou do Linux para outras arquiteturas. Especifique o sistema operacional e, opcionalmente, uma arquitetura com suporte no formato de sistema operacional/arquitetura (por exemplo, --platform Linux/arm). Para arquiteturas ARM, especifique opcionalmente uma variante no formato do sistema operacional/arquitetura/variante (por exemplo, --platform Linux/arm64/v8):

Sistema operacional Arquitetura
Linux amd64
arm
arm64
386
Windows amd64