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

Configurar CI/CD para tu aplicación PHP

Requisitos previos

Completa todas las secciones anteriores de esta guía, comenzando con Contenedorizar una aplicación PHP. 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 construir y probar tu imagen de Docker, así como para subirla a Docker Hub. Completarás los siguientes pasos:

  1. Crear un nuevo repositorio en GitHub.
  2. Definir el flujo de trabajo (workflow) 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 configuración (Settings) del repositorio y ve a Secrets and variables > Actions.

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

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

  5. Agrega el PAT como un 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. En tu repositorio local en tu máquina, ejecuta el siguiente comando para cambiar el nombre de la rama a main.

    $ git branch -M main
    
  8. Ejecuta los siguientes comandos para preparar (stage), confirmar (commit) y luego subir (push) tu repositorio local a GitHub.

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

Paso dos: Configurar el flujo de trabajo

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

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

  2. 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 por defecto.

  3. In the editor window, copy and paste the following YAML configuration.

    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 test
            uses: docker/build-push-action@v7
            with:
              target: test
              load: true
    
          - name: Build and push
            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 de YAML para 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 trabajo.

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

    Después de subir 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 muestra el desglose de todos los pasos.

  3. Cuando el flujo de trabajo se complete, 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 cómo configurar un flujo de trabajo de GitHub Actions para tu aplicación.

Información relacionada:

Pasos siguientes

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