Criação automatizada de imagens Docker (GitHub e Docker Hub)

Standard

Como expliquei no artigo anterior sobre Docker, o processo de criação de imagens no Docker é bem simples, mas requer algum esforço e acompanhamento para saber se ele concluiu corretamente e esse resultado será visualizado em linha de comando, normalmente imagem a imagem. Um trabalha “manual”.

Criação em massa

Quando você trabalha com muitas imagens, e a mudança dessas imagens é constante, você precisará de uma solução mais automatizada e de um processo mais simples pra viabilizar a criação dessas imagens. É nesse momento que entra o serviço de automatização de criação das imagens do Docker Hub junto ao GitHub.

Docker e GitHub, agora juntos! :)

Docker e GitHub, Juntos! 🙂

Automação de builds

O Docker Hub tem um serviço de Automação da criação de imagens (Build), com integração com GitHub, ou seja, toda vez que você efetuar um commit e push no Dockerfile do seu repositório será realizado automaticamente um novo build da imagem, já armazenando no Docker Hub e apresentando o log de criação dessa imagem. Praticamente uma integração contínua da sua imagem 🙂

Seleção_001

Olha como é fácil a interface!

Para configurar isso é muito simples. Basta seguir os passos abaixo:

  1. Crie uma Conta no Docker Hub e efetue login.
  2. Link sua conta do GitHub através do menu “Link Accounts”.
  3. Configure o build automatizado.
  4. Escolha o projeto GitHub que deseja utilizar. Lembre-se que ele precisa ter um Dockerfile para efetuar a build.
  5. Escolha a branch que você quer efetuar a build (Por padrão é usada a branch master).
  6. Dê um nome a esse build automatizado.
  7. Opcionalmente, aplique uma tag Docker tag para a build.
  8. Especifique onde o Dockerfile está localizado. O padrão é “/".

Uma vez o build automatizado é configurado ele será ativado automaticamente e em poucos minutos você pode visualizar sua imagem Docker Hub. Ela será mantida sincronizada com base no Dockerfile do seu repositório GitHub até que você desative o Build automatizado em questão.

Visualizando a situação da build

Se você quiser visualizar a situação do seu build automatizado, basta acessa o menu “Build detail” na sua imagem dentro da sua conta do Docker Hub, assim conseguirá visualizar o status da sua build e todo o histórico.

Como funciona a atualização

Vale lembrar que você o build automatizado não será ativado com o comando “docker push", você apenas poderá enviar modificação, e por consequência efetuar automaticamente o build dessa imagem, através do git commit e push para o repositório previamente configurado no link entre GitHub e Docker Hub.

Você pode criar múltiplos builds automatizados por repositório e configurar ele para apontar para um específico Dockerfile ou branch diferente.

Build Triggers

É possível ativar o build automatizado a partir de uma url. Basta habilitar o “Build triggers” em sua build automatizada. Agora você conseguirá gerar uma build por demanda e não apenas com base em commit e push. 🙂

Atenção!

Vale a pena lembrar que todo processo descrito aqui não leva em consideração repositórios e imagens privadas. Caso seja sua situação de não publicizar esse trabalho, tenha cuidado com relação a isso.

Referência

https://docs.docker.com/userguide/dockerrepos/

  • Robinho

    Massa!