Configura CI/CD para tu aplicación Rust
Prerrequisitos
Completa las secciones anteriores de esta guía, comenzando con Desarrolla tu aplicación Rust. 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 compilar y enviar (push) tu imagen 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 en 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 compilar, 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 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.ymlde forma predeterminada.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: 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: Compilar y enviar uses: docker/build-push-action@v7 with: 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 del flujo de trabajo y ejecuta el trabajo.
Selecciona Commit changes... y envía los cambios a la rama
main.Tras enviar el commit, el flujo de trabajo se inicia automáticamente.
Ve a la pestaña Actions. Allí se muestra el flujo de trabajo.
Al seleccionar el flujo de trabajo se muestra 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ó con éxito 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 Rust.
Información relacionada:
- Introducción a GitHub Actions
- GitHub Actions de Docker Build
- Sintaxis de flujo de trabajo para GitHub Actions
Pasos siguientes
A continuación, aprende cómo puedes probar y depurar localmente tus cargas de trabajo en Kubernetes antes de realizar el despliegue.