Obtenga una cuenta en Railway mediante su cuentan en GitHub.
Actividades
Clone localmente los repositorios security y rest_api.
Levante el servidor y compruebe el funcionamiento en el navegador.
Railway - Servicio MySQL
Cree un proyecto de Railway con el servicio MySQL, con: New Project > Provision MySQL
Dentro del proyecto, otro nuevo servicio MySQL.
NOTA: Su proyecto debe contener dos (2) servicios MySQL, uno para cada proyecto (security y rest_api).
Por cada servicio MySQL, copie las credenciales de conexión que se encuentran en la opción Variables: MYSQLDATABASE, MYSQLHOST, MYSQLPASSWORD, MYSQLPORT y MYSQLUSER.
MySQL Workbench - Migración
Dentro de la conexión local, por cada esquema (rest_api y security) por separado:
Haga clic en la opción Server > Data Export.
Seleccione el esquema con las tablas.
Seleccione la opción Export to Self-Contained File con un nombre específico y diferente.
Haga clic en la opción Start Export.
NOTA: En caso de no contar con los esquema, utilice los backups rest_api y security.
Para cada servicio MySQL en Railway:
Cree una nueva conexión
Haga clic en la opción Server > Data Import.
Seleccione la opción Import from Self-Contained File con el nombre específico y diferente.
Seleccione en la opción Default Target Schema: railway.
Haga clic en la opción Start Import.
Railway - GitHub Repo
Por cada proyecto (security y rest_api):
Cree un proyecto de Railway, con: New Project > Deploy from GitHub repo
Seleccione el repositorio de GitHub
Haga clic en Deploy now
Cambie el nombre del proyecto por el nombre del repositorio (security y rest_api)
En la opción Settings > Networking, genere un dominio aleatorio para la aplicación en la opción Generate Domain.
Por ejemplo: para el proyecto security, el URL de acceso es security-production-WXYZ.up.railway.app
Por ejemplo: para el proyecto rest_api, el URL de acceso es restapi-production-ABCD.up.railway.app
En la opción Variables,
Agregue las variables de entorno que se encuentran en el archivo .env. Excepto la variable PORT.
Agregue la variable de entorno NODE_ENV con el valor production.
Express - Credenciales de conexión
En cada proyecto (security y rest_api):
Modifique el archivo config/config.json, en el ambiente de producción (clave production).
Cambie los valores con las credenciales de conexión correspondientes.
Versione los cambios en el repositorio local y remoto.
Express - Scripts de automatización
Modifique el archivo package.json en la clave scripts con las instrucciones a ejecutar con el despliegue
packages:install para instalar los paquetes del proyecto, y
Express Tutorial Part 7: Deploying to production - Learn web development MDN. (2023). Retrieved 2 January 2023, from https://developer.mozilla.org/en-US/docs/Learn/Server-side/Express_Nodejs/deployment