Contenido del curso
Gestión de modelos en el backend con el ORM Diesel
- 2

Qué es un ORM y por qué usar Diesel
02:55 min - 3

Errores Comunes al Instalar y Usar Diesel en Rust
00:31 min - 4

Instala Diesel ORM en tu proyecto Rust
05:16 min - 5

Modelo Post con Diesel y PostgreSQL
14:22 min - 6

Cómo insertar datos en Diesel con Rust
07:55 min - 7

Queries SELECT con filtros en Diesel
08:16 min - 8

Cómo editar registros con Diesel en Rust
04:40 min - 9

Borrar registros en Diesel con filtros
03:01 min
Actix web framework (controlador)
Tera templates (vistas)
Despliegue del proyecto
Continúa tu aprendizaje
Deploy automático de Rust con GitHub Actions
Resumen
Desplegar una aplicación Rust en Heroku usando GitHub Actions automatiza el proceso de subir tu proyecto a la nube cada vez que haces push a tu rama principal. Aprenderás a configurar el flujo completo, desde los secrets hasta el workflow en YAML, para que tu app quede accesible en Internet con una URL pública.
Cómo preparas el repositorio y los secrets en GitHub
Antes de tocar cualquier archivo de configuración, tu código debe vivir en un repositorio de GitHub junto con tu Dockerfile y todo lo que la aplicación necesita para correr [01:10]. Si nunca has trabajado con Git, conviene reforzar esa base antes de continuar.
Una vez tengas el repositorio listo, entra a Settings, busca la sección Secrets dentro de Actions y añade un nuevo repository secret. Aquí es donde vivirá la llave que conecta GitHub con Heroku.
Cómo generas la Heroku API Key
Abre tu aplicación en Heroku, en este caso Blog Platzi, y entra a la pestaña Deploy. Desde tu terminal, ejecuta los siguientes comandos:
heroku loginpara abrir el navegador y autenticarte en tu cuenta.heroku authorizations:createpara generar un token válido que GitHub Actions usará en cada despliegue.
Copia ese token, regresa a GitHub y guárdalo con el nombre HEROKU_API_KEY. Ese valor será leído por el workflow sin exponerlo en el código.
¿Qué es un secret en GitHub Actions? Es una variable de entorno cifrada que el repositorio guarda para que tus workflows la usen sin mostrarla en los logs ni en el código fuente.
Cómo configuras el workflow de GitHub Actions con YAML
El flujo de trabajo se define en un archivo YAML dentro de una estructura de carpetas específica. Crea la carpeta .github en la raíz del proyecto y, dentro, otra llamada workflows. Allí coloca un archivo nuevo llamado main.yaml.
Dentro de ese archivo pegas el workflow base y solo cambias dos cosas:
- La rama desde la que se dispara el despliegue, en
branches. En el ejemplo se usamain. - El
app_namecon el nombre exacto de tu aplicación en Heroku, en este casoblog-platzi. - El correo electrónico asociado a tu cuenta de Heroku.
Un detalle fácil de pasar por alto: en el Dockerfile debes borrar la línea que copia el archivo .env a la carpeta app [03:30]. Esa instrucción solo tiene sentido en local, porque en Heroku las variables de entorno se configuran directamente desde el dashboard de la aplicación.
Cómo lanzas el primer deploy con git push
Con el workflow listo y el Dockerfile corregido, los pasos son los de siempre:
git add .para preparar los cambios.git commit -m "workflow generation"para registrarlos.git push origin mainpara enviarlos al repositorio remoto.
Lo recomendable en proyectos reales es trabajar con ramas y pull requests, pero para este ejemplo el push directo a main funciona como disparador del despliegue.
Cómo verificas el deploy y revisas logs en Heroku
En tu repositorio de GitHub aparecerá la carpeta .github y, en la pestaña Actions, verás el workflow workflow generation ejecutándose. Al hacer clic en Build se muestra el estado en tiempo real.
El proceso completo tarda alrededor de cinco o seis minutos [04:30]. Cuando termina con éxito, la aplicación queda publicada en un dominio del estilo blog-platzi.heroku.app, accesible desde el botón Open app del dashboard.
¿Cómo veo errores de mi app en Heroku? Entra al dashboard, abre el menú More y selecciona View logs. Allí aparecen todos los comandos ejecutados y los errores que haya lanzado tu aplicación.
Si necesitas correr un comando puntual, como una migración o un build manual, usa Run Console desde el mismo menú. Desde esa consola puedes ejecutar instrucciones como cargo run o cargo build directamente sobre el contenedor desplegado.
Cómo encajan Docker, Heroku y GitHub Actions en el flujo
El Dockerfile define cómo se construye la imagen de tu aplicación Rust, Heroku la aloja y le asigna un dominio público, y GitHub Actions orquesta el despliegue automático cada vez que detecta cambios en la rama configurada. Los tres trabajan juntos para que tu único trabajo sea escribir código y hacer push.
Con el proyecto ya en Internet, cualquier persona con la URL puede acceder a él. ¿Qué vas a hacer con tu primera app Rust en producción? Cuéntame en los comentarios si vas a migrar tu portafolio, lanzar un blog o experimentar con una API.