Implementación de GitHub Actions para Despliegue en Heroku
Clase 20 de 21 • Curso de Backend con Rust: Bases de Datos, Controladores y Templates
Contenido del curso
Gestión de modelos en el backend con el ORM Diesel
- 2

Uso de ORM Diesel en Aplicaciones Web para Blogs
02:55 min - 3
Errores Comunes al Instalar y Usar Diesel en Rust
00:31 min - 4

Instalación de Diesel y configuración de base de datos en Rust
05:16 min - 5

Creación de Modelos y Migraciones en Rust con Diesel
14:23 min - 6

Inserción de Datos en Bases de Datos con Diesel
07:55 min - 7

Consultas SQL: Cómo Filtrar y Ordenar Datos Específicos
08:16 min - 8

Edición de Registros en Bases de Datos con Diesel
04:40 min - 9

Eliminación de Registros en Bases de Datos con Diesel
03:01 min
Actix web framework (controlador)
- 10

Configuración de Actix Web Framework en Rust
02:41 min - 11

Configuración de Actix y conexión con bases de datos en Rust
10:42 min - 12

Uso de Match Case en Rust para Control de Flujo
07:46 min - 13

Mostrar datos de la base de datos en navegador con Actix
11:39 min - 14

Creación de API RESTful para Blog con Postman y Rust
19:10 min
Tera templates (vistas)
Despliegue del proyecto
Continúa tu aprendizaje
Teniendo nuestra aplicación correctamente armada con Docker, vamos a desplegarla a Heroku con ayuda de GitHub Actions.
Docker + GitHub Actions + Heroku
Dockerizada la aplicación, utilizaremos GitHub Actions para crear un pipeline de despliegue en Heroku.
Paso 1. Configuración GitHub Actions
GitHub Actions nos permitirá automatizar de forma muy sencilla el despliegue de nuestra aplicación en Heroku cada vez que hagamos un push en una rama determinada que indiquemos.
Para esto, crea la ruta en tu proyecto .github/workflows/main.yml con el siguiente contenido:
name: Deploy
on:
push:
branches:
- master # main o master, dependiendo cómo se llama la rama principal de tu proyecto en GitHub
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- uses: akhileshns/heroku-deploy@v3.12.12
with:
heroku_api_key: ${{secrets.HEROKU_API_KEY}} # Clave secreta de Heroku (Configurar desde GitHub Actions)
heroku_app_name: "rustbackend" # Nombre de la aplicación
heroku_email: "kevin@gmail.com"
usedocker: true
Paso 2. Autenticación en Heroku
Instala el CLI de Heroku en tu ordenador y posterior a eso inicia sesión en la consola con el comando heroku login. Una vez autentificado, crea un nuevo Token de autorización que utilizaremos para que GitHub Actions pueda conectarse y desplegar la aplicación.
Utiliza el comando heroku authorizations:create y copia el Token desde la salida de la terminal similar a la siguiente:
Creating OAuth Authorization
Client: <none>
ID: 2834aced-104d-4919-8ded-78cd91a89e2b
Description: Long-lived user authorization
Scope: global
Token: d23d3087-c22a-4112-b5gg-2c04853c470a
Updated at: Fri Jul 29 2022 12:29:19 GMT-0300 (GMT-03:00) (less than a minute ago)
Ve al repositorio del tu proyecto en GitHub --> Settings --> Secrets --> Actions --> New repository secret y crea la variable que leerá el main.yml que configuraste en GitHub Actions.
Paso 3. Despliegue de la aplicación
Una vez configurado, has un push en tu repositorio al branch que configuraste en el main.yml. GitHub detectará el pipeline y automáticamente lanzará el despliegue. Puedes darle seguimiento desde la pestaña Actions.
En cuestión de minutos, podrás acceder a el URL que Heroku provee para aplicaciones gratuitas similar a http://<project-name>.herokuapp.com y si todo ha ido bien, verás tu aplicación web desarrollada en Rust.
Contribución creada por: Kevin Fiorentino.