Heroku
Contents
Heroku#

Última edición el día 2022-10-26 a las 00:31.
Despliegue de aplicaciones en Heroku.
Índice
Instalar Heroku CLI y desplegar aplicación#
Crear proyecto y configurar#
Paso 1: Descargar e instalar Heroku CLI: https://devcenter.heroku.com/articles/heroku-cli
Paso 2: Entrar en la página de Heroku y hacer click en Create new app
Paso 3: abrir terminal en pc y ejecutar
heroku login
Crear un repositorio GIT#
Paso 1: ejecutar en la raiz del proyecto
git init
Paso 2: ejecutar en la raiz del proyecto:
heroku git:remote -a taskmanagerpytonicus
Desplegar aplicación#
Paso 1: añadir todos los datos:
git add .
Paso 2: comitear los cambios:
git commit -am "primer commit"
Paso 3: Pushear los datos en heroku:
git push heroku master
Comprobar que se ha desplegado#
En la pestaña overview se verá un panel en el que podemos observar a la derecha un mensaje Build Succeeded
Si pinchamos arriba a la derecha en More y luego en Logs podemos ver si hay algún error.
NodeJS en Heroku#
Existen un par de errores comunes en proyectos NodeJS, vamos a resolverlos:
Error de puertos: editar el archivo index.js y cambiar el puerto por lo siguiente:
1const mongoose = require("mongoose");
2const app = require('./app');
3// cambiar puerto por estas dos opciones:
4const port = process.env.PORT || 3977;
5
6mongoose.connect("mongodb+srv://guillermo:1234@cluster0.zicnrri.mongodb.net/?retryWrites=true&w=majority", {
7 useNewUrlParser: true,
8 useUnifiedTopology: true,
9}, (err, res)=>{
10 try{
11 if(err){
12 throw err;
13 }else{
14 console.log("Se ha establecido la conexión a la base de datos");
15 }
16 }catch(error){
17 console.error(error);
18 }
19});
20
21
22app.listen(port, () => {
23 console.log(`Servidor funcionando en: http://localhost:${port}`);
24});
Ausencia de comando start: editar package.json y añadir start en scripts:
1{
2 "name": "curso_node",
3 "version": "0.0.1",
4 "description": "Rest api node",
5 "main": "index.js",
6 "scripts": {
7 "start": "node index.js", // esta linea no siempre se crea con npm init
8 "test": "echo \"Error: no test specified\" && exit 1"
9 },
10 "author": "Guillermo Granados Gómez",
11 "license": "MIT",
12 "dependencies": {
13 "express": "^4.18.1",
14 "mongoose": "^6.5.2"
15 }
16}