Compartilhar via


Crie e envie imagens do Docker para o Registro de Contêiner do Azure utilizando os modelos do Docker

Azure DevOps Services

Neste tutorial passo a passo, você aprenderá como configurar um pipeline de integração contínua para criar um aplicativo em contêiner. Novas solicitações de pull disparam o pipeline para criar e publicar imagens do Docker no Registro de Contêiner do Azure.

Pré-requisitos

Obter o código

Bifurque ou clone o aplicativo de exemplo pipeline-javascript-docker:

https://github.com/MicrosoftDocs/pipelines-javascript-docker

Criar um registro de contêiner

  1. Entre no Azure e pressione o botão Azure Cloud Shell no canto superior direito.

    Botão do Azure Cloud Shell

  2. Execute os comandos a seguir para criar um grupo de recursos e um Registro de Contêiner do Azure usando a CLI do Azure.

    # Create a resource group
    az group create --name myapp-rg --location eastus
    
    # Create a container registry
    az acr create --resource-group myapp-rg --name mycontainerregistry --sku Basic
    

Observação

O nome do Registro de Contêiner deve estar em letras minúsculas.

Você também pode usar a interface do usuário da Web do portal do Azure para criar seu Registro de Contêiner do Azure. Confira Criar um registro de contêiner para obter mais detalhes.

Importante

Você deve habilitar a conta de usuário administrador para implantar uma imagem do Docker de um Registro de Contêiner do Azure. Confira Autenticação do registro de contêiner para obter mais detalhes.

Criar o pipeline

  1. Entre na sua organização do Azure DevOps e navegue até seu projeto.

  2. Selecione Pipelines e selecione Novo Pipeline para criar um pipeline.

    Criar um pipeline

  3. Selecione GitHub YAML e selecione Autorizar Azure Pipelines para fornecer as permissões apropriadas para acessar seu repositório.

  4. Talvez seja necessário entrar no GitHub. Nesse caso, insira suas credenciais do GitHub e selecione seu repositório na lista de repositórios.

  5. Na guia Configurar, selecione a tarefa Docker – Criar e enviar uma imagem para o Registro de Contêiner do Azure.

    Criar e enviar imagens para o Registro de Contêiner do Azure

  6. Selecione sua Assinatura do Azure e selecione Continuar.

  7. Selecione o Registro de contêiner no menu suspenso e forneça um Nome de Imagem para a imagem de contêiner.

  8. Selecione Validar e configurar quando terminar.

    Uma captura de tela mostrando como configurar um pipeline do Docker para compilar e publicar uma imagem no Registro de Contêiner do Azure

    Conforme o Azure Pipelines cria o pipeline, ele fará o seguinte:

    • Criará uma conexão de serviço de registro do Docker para permitir que o pipeline envie imagens por push ao registro de contêiner.

    • Gerará um arquivo azure-pipelines.yml que definirá seu pipeline.

  9. Examinará o YAML do pipeline e selecionará Salvar e executar quando estiver pronto.

    Revise seu pipeline, salve & run

  10. Adicione uma Mensagem de confirmação e selecione Salvar e executar para confirmar suas alterações e executar seu pipeline.

  11. À medida que o pipeline é executado, selecione o trabalho de build para observar o pipeline em ação.

    Monitorar builds

Como criamos seu pipeline

O pipeline que acabamos de criar na seção anterior foi gerado a partir do Modelo de contêiner do Docker YAML. O estágio de compilação usa a tarefa Docker@2 do Docker para criar e enviar sua imagem do Docker para o registro do contêiner.

- stage: Build
  displayName: Build and push stage
  jobs:  
  - job: Build
    displayName: Build job
    pool:
      vmImage: $(vmImageName)
    steps:
    - task: Docker@2
      displayName: Build and push an image to container registry
      inputs:
        command: buildAndPush
        repository: $(imageRepository)
        dockerfile: $(dockerfilePath)
        containerRegistry: $(dockerRegistryServiceConnection)
        tags: |
          $(tag)

Limpar os recursos

Se você não quiser continuar a usar esse aplicativo, poderá excluir os recursos criados neste tutorial para evitar incorrer em encargos contínuos. Execute o seguinte para excluir o grupo de recursos.

az group delete --name myapp-rg