Hay muchos cursos en Platzi que tienen uno o dos videitos de Heroku, todos muy parecidos. Vendría bien un curso más completo de este PaaS que es muy utilizado.
Módulos de NestJS
¿Ya tomaste el Curso de Backend con NestJS?
Overview del proyecto: PlatziStore
Encapsular lógica en módulos
Interacción entre módulos
Entendiendo la inyección de dependencias
useValue y useClass
useFactory
Global Module
Configuración de entornos
Módulo de configuración
Configuración por ambientes
Tipado en config
Validación de esquemas en .envs con Joi
Documentación
Integrando Swagger y PartialType con Open API
Extendiendo la documentación
Deploy
Configuración de Heroku
Deploy de NestJS en Heroku
Próximos pasos
Continúa con los cursos de persistencia de datos en NestJS
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Llega el momento del despliegue de tu aplicación en un entorno productivo. Utilizaremos Heroku, uno de los proveedores de servidores Cloud más utilizado y fácil de utilizar de la industria.
Preparar tu aplicación para Heroku requiere de algunas configuraciones sencillas.
Heroku, por defecto, usa una variable de entorno llamada PORT
para levantar la aplicación en un puerto aleatorio. Asegúrate de configurar esta variable dinámica en el bootstrap de tu app, además de activar CORS para no tener problemas con el mismo. Agrega las configuraciones en el archivo main.ts
.
// main.ts
import { NestFactory } from '@nestjs/core';
import { AppModule } from './app.module';
async function bootstrap() {
const app = await NestFactory.create(AppModule);
app.enableCors();
await app.listen(process.env.PORT || 3000);
}
bootstrap();
Edita el archivo package.json para especificar la versión de NodeJS que tu aplicación necesita con la siguiente configuración:
"engines": {
"node": "14.x"
},
Heroku requiere de un pequeño archivo adicional en la raíz de tu proyecto llamado Procfile
que contiene el comando que da inicio a tu proyecto:
web: npm run start:prod
Además, Heroku posee su propio CLI que nos ayudará en el despliegue de cualquier aplicación. Instálalo dependiendo tu sistema operativo para estar listo para el despliegue de tu app.
Contribución creada por: Kevin Fiorentino.
Aportes 6
Preguntas 4
Hay muchos cursos en Platzi que tienen uno o dos videitos de Heroku, todos muy parecidos. Vendría bien un curso más completo de este PaaS que es muy utilizado.
En mi caso, me daba un error porque no se conseguía el archivo main dentro del directorio dist, aun luego de la compilación, lo que hice fue editar en el archivo package.json en la sección de start:prod, coloqué:
node dist/src/main
Estaría genial actualizar esta clase en especifico ya que heroku ya dejó de ser gratuito.
Heroku actualmente es pago, pero puden usar railway que tien capa gratis
Para deployar en heroku tenemos que crear el archivo Procfile
que va a contener el comando de inicio de nuestra aplicacion que va a ejecutar heroku por nosotros:
web: npm run start:prod
Setear el puerto en una variable de entorno cuando levanta la aplicacion. Esto se hace en el main.ts
app.enableCors(); // hab ilitar cors para consumir desde cualquier punto. OjO con esto!!!
await app.listen(process.env.PORT || 3000);
heroku login
, esto abre el browser y nos logueamosheroku create
output:
Creating app... done, ⬢ <nombre-numero>
https://<nombre-numero>.herokuapp.com/ | https://git.heroku.com/<nombre-numero>.git
heroku local web
👏
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?
o inicia sesión.