BT

Jib, um construtor de imagem de container do Google

| por Diogo Carleto Seguir 41 Seguidores , traduzido por Diogo Carleto Seguir 41 Seguidores em 04 set 2018. Tempo estimado de leitura: 1 minuto |

O Google recentemente anunciou o Jib, um construtor de imagem de container open-source que permite que os desenvolvedores Java construam containers usando ferramentas bem conhecidas como o Maven ou Gradle. Os desenvolvedores não precisam escrever um Dockerfile ou ter o Docker instalado para construir uma imagem.

O Jib é implementado em Java e é executado como parte do build do Maven ou Gradle. A abordagem de construção do Jib separa o aplicativo Java em várias camadas, de forma que quando existirem alterações no código, somente as mudanças serão reprocessadas, ao invés de toda a aplicação. Por padrão, essas camadas são colocadas em cima de uma imagem base distroless, que é uma imagem que contém somente a aplicação do desenvolvedor e dependências de tempo de execução. As imagens a seguir ilustram o fluxo de construção do Jib no Docker:

Fluxo no Docker:

Fluxo no Jib:

Para começar a usar o Jib, os desenvolvedores só precisam adicionar um dos plugins disponíveis para o Maven ou Gradle aos arquivos pom.xml ou build.gradle e configurar a imagem de destino. A seguir alguns exemplos ilustrando um build para um container registry e para um Docker daemon:

Maven

<plugin>
  <groupId>com.google.cloud.tools</groupId>
  <artifactId>jib-maven-plugin</artifactId>
  <version>0.9.0</version>
  <configuration>
    <to>
      <image>myimage</image>
    </to>
  </configuration>
</plugin>
# Builds to a container image registry.
$ mvn compile jib:build
# Builds to a Docker daemon.
$ mvn compile jib:dockerBuild

Gradle

plugins {
  id 'com.google.cloud.tools.jib' version '0.9.8'
}
jib.to.image = 'myimage'
# Builds to a container image registry.
$ gradle jib
# Builds to a Docker daemon.
$ gradle jibDockerBuild

Para usuários que precisam de autenticação em registros privados, o Jib fornece o Docker credential helpers. Os usuários também podem definir as credenciais nas configurações do Maven. Alguns auxiliares comuns de autenticação incluídos são o Google Container Registry, AWS Elastic Container Registry e Docker Hub Registry. A seguir um exemplo usando auxiliares de credenciais.

<configuration>
  ...
  <from>
    <image>aws_account_id.dkr.ecr.region.amazonaws.com/my-base-image</image>
    <credHelper>ecr-login</credHelper>
  </from>
  <to>
    <image>gcr.io/my-gcp-project/my-app</image>
    <credHelper>gcr</credHelper>
  </to>
  ...
</configuration>

Mais informações podem ser encontradas no repositório do GitHub.

Avalie esse artigo

Relevância
Estilo/Redação

Olá visitante

Você precisa cadastrar-se no InfoQ Brasil ou para enviar comentários. Há muitas vantagens em se cadastrar.

Obtenha o máximo da experiência do InfoQ Brasil.

Dê sua opinião

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão
Comentários da comunidade

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

HTML é permitido: a,b,br,blockquote,i,li,pre,u,ul,p

Receber mensagens dessa discussão

Dê sua opinião

Faça seu login para melhorar sua experiência com o InfoQ e ter acesso a funcionalidades exclusivas


Esqueci minha senha

Follow

Siga seus tópicos e editores favoritos

Acompanhe e seja notificados sobre as mais importantes novidades do mundo do desenvolvimento de software.

Like

Mais interação, mais personalização

Crie seu próprio feed de novidades escolhendo os tópicos e pessoas que você gostaria de acompanhar.

Notifications

Fique por dentro das novidades!

Configure as notificações e acompanhe as novidades relacionada a tópicos, conteúdos e pessoas de seu interesse

BT