En aquest tema, aprendrem com desplegar una aplicació Node.js a Heroku, una plataforma de núvol que permet als desenvolupadors construir, executar i operar aplicacions completament en el núvol. Heroku és conegut per la seva facilitat d'ús i la seva integració amb Git, cosa que fa que el procés de desplegament sigui molt senzill.
- Prerequisits
Abans de començar, assegura't de tenir els següents requisits:
- Un compte a Heroku.
- Node.js instal·lat al teu ordinador.
- Git instal·lat al teu ordinador.
- Heroku CLI instal·lat.
- Configuració del Projecte
2.1. Crear un Projecte Node.js
Si no tens un projecte Node.js, pots crear-ne un de nou. A continuació, es mostra un exemple bàsic d'una aplicació Node.js amb Express:
Crea un fitxer index.js
amb el següent contingut:
const express = require('express'); const app = express(); const port = process.env.PORT || 3000; app.get('/', (req, res) => { res.send('Hello, Heroku!'); }); app.listen(port, () => { console.log(`Server is running on port ${port}`); });
2.2. Crear un Fitxer Procfile
Heroku utilitza un fitxer anomenat Procfile
per saber com executar la teva aplicació. Crea un fitxer anomenat Procfile
a l'arrel del teu projecte amb el següent contingut:
2.3. Crear un Fitxer .gitignore
Crea un fitxer .gitignore
per excloure fitxers i directoris innecessaris del teu repositori Git:
- Desplegament a Heroku
3.1. Inicialitzar un Repositori Git
Inicialitza un repositori Git al teu projecte:
3.2. Crear una Aplicació a Heroku
Utilitza Heroku CLI per crear una nova aplicació:
Això crearà una nova aplicació a Heroku i afegirà un remot Git anomenat heroku
al teu repositori.
3.3. Desplegar l'Aplicació
Desplega la teva aplicació a Heroku utilitzant Git:
3.4. Obtenir l'URL de l'Aplicació
Després de desplegar l'aplicació, pots obtenir l'URL de l'aplicació amb el següent comandament:
Això obrirà el navegador web amb l'URL de la teva aplicació desplegada.
- Gestió de Variables d'Entorn
Heroku permet configurar variables d'entorn per a la teva aplicació. Pots afegir variables d'entorn utilitzant Heroku CLI:
Per accedir a aquestes variables d'entorn a la teva aplicació Node.js, pots utilitzar process.env
:
- Monitorització i Escalabilitat
Heroku ofereix eines per monitoritzar i escalar la teva aplicació. Pots veure els logs de la teva aplicació amb el següent comandament:
Per escalar la teva aplicació, pots utilitzar el següent comandament:
Això augmentarà el nombre de dinasties (instàncies) de la teva aplicació.
Conclusió
En aquest tema, hem après com desplegar una aplicació Node.js a Heroku. Hem cobert els passos des de la configuració del projecte fins al desplegament i la gestió de variables d'entorn. Ara estàs preparat per desplegar les teves pròpies aplicacions a Heroku i aprofitar els avantatges del núvol.
Exercici Pràctic:
- Crea una aplicació Node.js bàsica amb Express.
- Desplega l'aplicació a Heroku seguint els passos descrits.
- Configura una variable d'entorn a Heroku i utilitza-la a la teva aplicació.
Solució:
- Segueix els passos descrits a la secció "Configuració del Projecte".
- Segueix els passos descrits a la secció "Desplegament a Heroku".
- Utilitza el comandament
heroku config:set
per configurar una variable d'entorn i accedeix-hi a la teva aplicació utilitzantprocess.env
.
Amb això, hauràs completat el desplegament de la teva aplicació Node.js a Heroku!
Curs de Node.js
Mòdul 1: Introducció a Node.js
Mòdul 2: Conceptes Bàsics
Mòdul 3: Sistema de Fitxers i I/O
Mòdul 4: HTTP i Servidors Web
Mòdul 5: NPM i Gestió de Paquets
Mòdul 6: Framework Express.js
- Introducció a Express.js
- Configuració d'una Aplicació Express
- Middleware
- Routing en Express
- Gestió d'Errors
Mòdul 7: Bases de Dades i ORMs
- Introducció a les Bases de Dades
- Utilitzar MongoDB amb Mongoose
- Utilitzar Bases de Dades SQL amb Sequelize
- Operacions CRUD
Mòdul 8: Autenticació i Autorització
Mòdul 9: Proves i Depuració
- Introducció a les Proves
- Proves Unitàries amb Mocha i Chai
- Proves d'Integració
- Depuració d'Aplicacions Node.js
Mòdul 10: Temes Avançats
Mòdul 11: Desplegament i DevOps
- Variables d'Entorn
- Utilitzar PM2 per a la Gestió de Processos
- Desplegar a Heroku
- Integració i Desplegament Continu