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:
- Crea un nuevo repositorio en GitHub.
- Define el flujo de trabajo (workflow) de GitHub Actions.
- 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.
Crea un nuevo repositorio en GitHub.
Abre la configuración (Settings) del repositorio y ve a Secrets and variables > Actions.
Crea una nueva variable de repositorio (Repository variable) llamada
DOCKER_USERNAMEy tu Docker ID como valor.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.Agrega el PAT como un secreto de repositorio (Repository secret) en tu repositorio de GitHub, con el nombre
DOCKERHUB_TOKEN.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-usernamepor tu nombre de usuario de GitHub yyour-repositorypor el nombre del repositorio que creaste.$ git remote set-url origin https://github.com/your-username/your-repository.gitEjecuta 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.
Ve a tu repositorio en GitHub y luego selecciona la pestaña Actions. El proyecto ya tiene el flujo de trabajo
maven-buildpara 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.Selecciona New workflow (Nuevo flujo de trabajo).
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.ymlde forma predeterminada.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 }}:latestPara 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.
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.
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.
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:
- Introducción a GitHub Actions
- Docker Build GitHub Actions
- Sintaxis de flujo de trabajo para GitHub Actions
Siguientes pasos
A continuación, aprende cómo puedes probar y depurar localmente tus cargas de trabajo en Kubernetes antes de desplegar.