Configura CI/CD para tu aplicación de Go
Requisitos previos
Completa las secciones anteriores de esta guía, comenzando con Construye tu imagen de Go. 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.
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 y confirma los cambios.
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 empujar uses: docker/build-push-action@v7 with: platforms: linux/amd64,linux/arm64 push: true 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.