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

Configurar CI/CD para tu aplicación Bun

Requisitos previos

Completa todas las secciones anteriores de esta guía, empezando por Containerizar una aplicación Bun. Necesitas una cuenta de GitHub y una cuenta verificada de Docker para completar esta sección.

Descripción general

En esta sección aprenderás a configurar y usar GitHub Actions para compilar y probar tu imagen Docker, así como enviarla a Docker Hub. Completarás los siguientes pasos:

  1. Crear un repositorio en GitHub.
  2. Definir el flujo de trabajo de GitHub Actions.
  3. Ejecutar el flujo de trabajo.

Paso uno: Crear el repositorio

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

  1. Crea un repositorio en GitHub.

  2. Abre Settings del repositorio y ve a Secrets and variables > Actions.

  3. Crea una Repository variable llamada DOCKER_USERNAME con tu ID de Docker como valor.

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

  5. Añade el PAT como Repository secret en tu repositorio de GitHub, con el nombre DOCKERHUB_TOKEN.

  6. En tu repositorio local, ejecuta el siguiente comando para cambiar el origin al repositorio que acabas de crear. Cambia 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, hacer commit y push de tu repositorio local a GitHub.

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

Paso dos: Configurar el flujo de trabajo

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

  1. Ve a tu repositorio en GitHub y selecciona la pestaña Actions.

  2. Selecciona set up a workflow yourself.

    Te llevará a una página para crear un archivo de flujo de GitHub Actions en tu repositorio, por defecto en .github/workflows/main.yml.

  3. En el editor, copia y pega la siguiente configuración YAML y confirma los cambios.

    name: ci
    
    on:
      push:
        branches:
          - main
    
    jobs:
      build:
        runs-on: ubuntu-latest
        steps:
          - name: Login to Docker Hub
            uses: docker/login-action@v4
            with:
              username: ${{ vars.DOCKER_USERNAME }}
              password: ${{ secrets.DOCKERHUB_TOKEN }}
    
          - name: Set up Docker Buildx
            uses: docker/setup-buildx-action@v4
    
          - name: Build and push
            uses: docker/build-push-action@v7
            with:
              platforms: linux/amd64,linux/arm64
              push: true
              tags: ${{ vars.DOCKER_USERNAME }}/${{ github.event.repository.name }}:latest

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

Paso tres: Ejecutar el flujo de trabajo

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

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

    Tras el push, el flujo de trabajo se inicia automáticamente.

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

    Al seleccionarlo verás el desglose de todos los pasos.

  3. Cuando el flujo termine, ve a tus repositorios en Docker Hub.

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

Resumen

En esta sección aprendiste a configurar un flujo de GitHub Actions para tu aplicación Bun.

Información relacionada:

Próximos pasos

A continuación aprenderás a probar y depurar en local tus cargas de trabajo en Kubernetes antes de desplegar.