segunda-feira, 2 de novembro de 2020

Usando o Maven para logar no Docker Hub e publicar a imagem da sua aplicação

 

Nesse artigo vou mostrar como configurar uma aplicação Maven para logar no Docker Hub através do arquivo settings.xml da pasta .m2 e então publicar a imagem do seu projeto.

 

Assumimos que você já tem seu projeto configurado para usar o Docker, ou seja, já tem o Dockerfile configurado. Vamos configurar então o pom.xml pois é nele que vamos dizer o repositório do projeto e que ele deve se logar pelas configurações do Maven:

 

<build>

<plugins>

       <plugin>

           <groupId>org.springframework.boot</groupId>

           <artifactId>spring-boot-maven-plugin</artifactId>

       </plugin>

       <plugin>

           <groupId>com.spotify</groupId>

           <artifactId>dockerfile-maven-plugin</artifactId>

           <version>1.4.6</version>

           <executions>

                 <execution>

                      <id>default</id>

                      <goals>

                          <goal>build</goal>

                          <goal>push</goal>

                      </goals>

                  </execution>

            </executions>

            <configuration>

                 <useMavenSettingsForAuth>true</useMavenSettingsForAuth>

                 <repository>seuDockerID/seuProjeto</repository>

                 <tag>${project.version}</tag>

                 <buildArgs>

                    <JAR_FILE>${project.build.finalName}.jar</JAR_FILE>

                 </buildArgs>

            </configuration>

       </plugin>

</plugins>

</build>

 

 

          Agora vamos configurar o arquivo settings.xml que fica dentro da pasta .m2 e contém configurações globais do maven para sua máquina. É possível que esse arquivo não exista na sua máquina, pois ele não é obrigatório para o Maven funcionar.

 

<?xml version="1.0" encoding="UTF-8" standalone="no"?>

<settings

  xmlns="http://maven.apache.org/SETTINGS/1.0.0"

  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

  xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0

  http://maven.apache.org/xsd/settings-1.0.0.xsd">

 

  <servers>

             <server>

                     <id>docker.io</id>

                     <username>seu_usuario</username>

                     <password>sua_senha</password>

                     <configuration>

                       <email>seu_email</email>

                     </configuration>

             </server>

       </servers>

      

       <configuration>

          <repository>seuDockerID/seuProjeto</repository> //o mesmo usado no pom.xml

          <tag>${project.version}</tag>

          <useMavenSettingsForAuth>true</useMavenSettingsForAuth>

    </configuration>

</settings>

 

          Agora basta você gerar o seu projeto com o Maven seja pelo comando mvn package ou mvn clean install que o Maven vai gerar sua imagem Docker! Basta você executar o comando Docker images para ver sua nova imagem criada 😊!

 

Para enviar para o Docker Hub basta executar o comando mvn dockerfile:push.

 

          Pronto, assim o ciclo de geração e publicação de imagens Docker ficou controlado pelo Maven.


Fonte: https://medium.com/@fernandoevangelista_28291/criando-e-enviando-imagem-docker-com-java-e-maven-4fa3c70dba0f

 

 

Nenhum comentário:

Postar um comentário