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

Configurar CI/CD para tu aplicación R

Requisitos previos

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

Descripción general

En esta sección, aprenderás cómo configurar y usar GitHub Actions para compilar y probar tu imagen de Docker, así como para subirla (push) a Docker Hub. Completarás los siguientes pasos:

  1. Crear un nuevo 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 de GitHub, configura las credenciales de Docker Hub y sube tu código fuente.

  1. Crea un nuevo repositorio en GitHub.

  2. Abre la pestaña Settings (Configuración) del repositorio y ve a Secrets and variables (Secretos y variables) > Actions (Acciones).

  3. Crea una nueva Repository variable (Variable de repositorio) llamada DOCKER_USERNAME con tu ID de Docker 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 (Lectura) y Write (Escritura).

  5. Agrega el PAT como un Repository secret (Secreto de repositorio) 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 subir (push) 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 trabajo de GitHub Actions para compilar, probar y subir la imagen a Docker Hub.

  1. Ve a tu repositorio en GitHub y luego selecciona la pestaña Actions (Acciones).

  2. Selecciona set up a workflow yourself (configurar un flujo de trabajo tú 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.

  3. 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: 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 obtener más información sobre la sintaxis YAML para docker/build-push-action, consulta el README de GitHub Action.

Paso tres: Ejecutar el flujo de trabajo

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

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

    Después de subir la confirmación, el flujo de trabajo se inicia automáticamente.

  2. Ve a la pestaña Actions (Acciones). Esta muestra el flujo de trabajo.

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

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

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

Resumen

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

Información relacionada:

Pasos siguientes

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