Compartir comentarios
Las respuestas se generan en base a la documentación.

Configura CI/CD para tu aplicación de Java

Requisitos previos

Completa las secciones anteriores de esta guía, comenzando con Contenedoriza tu aplicación. Debes tener una cuenta de GitHub y una cuenta verificada de Docker para completar esta sección.

Resumen

En esta sección, aprenderás cómo configurar y utilizar GitHub Actions para construir y empujar (push) tu imagen de Docker a Docker Hub. Completarás los siguientes pasos:

  1. Crea un nuevo repositorio en GitHub.
  2. Define el flujo de trabajo (workflow) de GitHub Actions.
  3. Ejecuta el flujo de trabajo.

Paso uno: Crea el repositorio

Crea un repositorio de GitHub, configura las credenciales de Docker Hub y envía (push) tu código fuente.

  1. Crea un nuevo repositorio en GitHub.

  2. Abre la configuración (Settings) del repositorio y ve a Secrets and variables > Actions.

  3. Crea una nueva variable de repositorio (Repository variable) llamada DOCKER_USERNAME y tu Docker ID como valor.

  4. Crea un nuevo Token de acceso personal (PAT) para Docker Hub. Puedes nombrar este token docker-tutorial. Asegúrate de que los permisos de acceso incluyan Read y Write.

  5. Agrega el PAT como un secreto de repositorio (Repository secret) en tu repositorio de GitHub, con el nombre DOCKERHUB_TOKEN.

  6. En tu repositorio local en tu máquina, ejecuta el siguiente comando para cambiar el origen al repositorio que acabas de crear. Asegúrate de cambiar your-username por tu nombre de usuario de GitHub y your-repository por el nombre del repositorio que creaste.

    $ git remote set-url origin https://github.com/your-username/your-repository.git
    
  7. Ejecuta los siguientes comandos para preparar (stage), confirmar (commit) y enviar (push) tu repositorio local a GitHub.

    $ git add -A
    
    $ git commit -m "my commit"
    
    $ git push -u origin main
    

Paso dos: Configura el flujo de trabajo

Configura tu flujo de trabajo de GitHub Actions para construir, probar y enviar la imagen a Docker Hub.

  1. Ve a tu repositorio en GitHub y luego selecciona la pestaña Actions. El proyecto ya tiene el flujo de trabajo maven-build para construir y probar tu aplicación de Java con Maven. Si lo deseas, puedes desactivar opcionalmente este flujo de trabajo porque no lo usarás en esta guía. Crearás un nuevo flujo de trabajo alternativo para construir, probar y enviar tu imagen.

  2. Selecciona New workflow (Nuevo flujo de trabajo).

  3. Selecciona set up a workflow yourself (configurar un flujo de trabajo por ti mismo).

    Esto te llevará a una página para crear un nuevo archivo de flujo de trabajo de GitHub Actions en tu repositorio, bajo .github/workflows/main.yml de forma predeterminada.

  4. En la ventana del editor, copia y pega la siguiente configuración YAML.

    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Iniciar sesión en Docker Hub
            uses: docker/login-action@v4
            with:
              username: ${{ vars.DOCKER_USERNAME }}
              password: ${{ secrets.DOCKERHUB_TOKEN }}
    
          - name: Configurar Docker Buildx
            uses: docker/setup-buildx-action@v4
    
          - name: Construir y probar
            uses: docker/build-push-action@v7
            with:
              target: test
              load: true
    
          - name: Construir y empujar
            uses: docker/build-push-action@v7
            with:
              platforms: linux/amd64,linux/arm64
              push: true
              target: final
              tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

    Para obtener más información sobre la sintaxis YAML para docker/build-push-action, consulta el README de GitHub Action.

Paso tres: Ejecuta el flujo de trabajo

Guarda el archivo de flujo de trabajo y ejecuta el trabajo.

  1. Selecciona Commit changes... (Confirmar cambios) y envía los cambios a la rama main.

    Después de enviar el commit, el flujo de trabajo se inicia automáticamente.

  2. Ve a la pestaña Actions. Mostrará el flujo de trabajo.

    Al seleccionar el flujo de trabajo, se te mostrará el desglose de todos los pasos.

  3. Cuando se complete el flujo de trabajo, ve a tus repositorios en Docker Hub.

    Si ves el nuevo repositorio en esa lista, significa que GitHub Actions envió correctamente la imagen a Docker Hub.

Resumen

En esta sección, aprendiste cómo configurar un flujo de trabajo de GitHub Actions para tu aplicación.

Información relacionada:

Siguientes pasos

A continuación, aprende cómo puedes probar y depurar localmente tus cargas de trabajo en Kubernetes antes de desplegar.