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:
- Crear un nuevo repositorio en GitHub.
- Definir el flujo de trabajo (workflow) de GitHub Actions.
- 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.
Crea un nuevo repositorio en GitHub.
Abre la configuración (Settings) del repositorio y ve a Secrets and variables > Actions.
Crea una nueva Repository variable llamada
DOCKER_USERNAMEcon tu Docker ID como valor.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).Agrega el PAT como un 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.gitEn tu repositorio local en tu máquina, ejecuta el siguiente comando para cambiar el nombre de la rama a main.
$ git branch -M mainEjecuta 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.
Ve a tu repositorio en GitHub y luego selecciona la pestaña Actions.
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.ymlpor defecto.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 }}:latestPara 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.
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.
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.
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:
- Introducción a GitHub Actions
- Acciones de GitHub para Docker Build
- Sintaxis de flujo de trabajo para GitHub Actions
Pasos siguientes
A continuación, aprende cómo probar y depurar localmente tus cargas de trabajo en Kubernetes antes de desplegarlas.