Guia per a principiants: Desplegament de Node.js a AWS Elastic Beanstalk amb GitHub Actions

Guia pràctica en català per desplegar una app Node.js a AWS Elastic Beanstalk i configurar CI/CD amb GitHub Actions per a proves i desplegament continu.

sábado, 16 de agosto de 2025 • 6 min de lectura • Equip Q2BSTUDIO

Intel·ligència-Artificial-

Automatitzar el desplegament d'aplicacions estalvia temps i millora el flux de treball de desenvolupament. En aquesta guia pràctica en català aprendràs a desplegar una aplicació Node.js a AWS Elastic Beanstalk i a configurar una canalització CI/CD amb GitHub Actions perquè cada vegada que es faci un push a la branca principal el codi es provi i es desplegui de manera automàtica.

Què és AWS Elastic Beanstalk: Elastic Beanstalk és un servei d'AWS que facilita el desplegament i la gestió d'aplicacions al núvol. Permet pujar l'aplicació i abstrau la provisió de capacitat, l'equilibri de càrrega, l'escalat automàtic i la monitorització de la salut de l'aplicació.

Per què utilitzar Elastic Beanstalk: simplifica la infraestructura, facilita l'escalabilitat i pot ser econòmic aprofitant el nivell gratuït d'AWS per a aplicacions senzilles.

Què és GitHub Actions: GitHub Actions és una plataforma de CI/CD que permet automatitzar la compilació, les proves i el desplegament. Amb Actions es creen fluxos de treball que poden executar-se quan hi ha un push o un pull request i que contenen treballs i passos que s'executen en runners gestionats.

Estructura habitual d'un flux de treball: esdeveniment que desencadena el flux, jobs o treballs que agrupen passos i passos que executen ordres concretes. En aquesta guia utilitzarem un job de proves i un altre de desplegament.

Requisits previs: un compte AWS amb un usuari IAM amb permisos per a Elastic Beanstalk, un repositori a GitHub amb el codi de l'aplicació Node.js i Node.js instal·lat localment versió 18 o superior.

Pas 1 Configurar l'aplicació Node.js: per començar ràpid pots clonar un repositori d'exemple amb Express i TypeScript. Des de la terminal executa git clone https://github.com/samowolabi/nodejs-elastic-beanstalk-with-githubactions-app.git i després cd nodejs-elastic-beanstalk-with-githubactions-app. Instal·la dependències amb npm install. L'estructura típica del projecte inclou la carpeta .github/workflows amb el fitxer de flux, src amb el codi font, test amb proves, package.json i tsconfig.json.

Pas 2 Crear l'entorn a Elastic Beanstalk: a la consola d'AWS busca Elastic Beanstalk i crea una nova aplicació. Assigna un nom descriptiu i selecciona la plataforma Node.js adequada, per exemple Node.js 18 o superior. Per a desplegaments simples utilitza el preset Single instance si vols romandre al nivell gratuït durant les proves.

Configurar accés de servei: Elastic Beanstalk necessita un service role i un instance profile. Si no existeixen pots crear un nou service role amb el nom aws-elasticbeanstalk-service-role i un instance profile per a les instàncies EC2 que inclogui polítiques com AWSElasticBeanstalkWebTier. Aquestes accions es realitzen des de la mateixa consola d'Elastic Beanstalk i la consola d'IAM.

Revisió i llançament: un cop configurat el rol i el perfil d'instància pots ometre configuracions avançades i llançar l'entorn. AWS trigarà uns minuts a crear els recursos i, quan estigui llest, veuràs una URL pública amb l'aplicació d'exemple.

Variables d'entorn: si la teva aplicació necessita variables configura-les a la consola d'Elastic Beanstalk dins de Configuration Software Edit i afegeix parells clau-valor com NODE_ENV amb valor production. Elastic Beanstalk injecta automàticament la variable PORT.

Pas 3 Configurar CI/CD amb GitHub Actions: perquè GitHub Actions desplegui al teu compte AWS necessites unes credencials amb access key i secret key. A la consola d'IAM selecciona l'usuari corresponent i crea una access key a Security credentials seleccionant Third party service si es demana. Copia Access key ID i Secret access key en el moment de la creació perquè el secret no es mostrarà de nou.

Afegir credencials a GitHub: obre el teu repositori a GitHub i ves a Settings Secrets and variables Actions. Crea nous secrets de repositori anomenats AWS_ACCESS_KEY_ID i AWS_SECRET_ACCESS_KEY amb els valors obtinguts a AWS. Aquests secrets seran utilitzats pel flux de GitHub Actions per autenticar-se amb AWS.

Descripció del flux de treball CI/CD: el flux típic executa proves en diverses versions de Node.js, per exemple 18.x i 20.x. El job de test realitza checkout del codi, configura Node.js amb actions/setup-node, instal·la dependències amb npm ci, executa npm test i construeix amb npm run build. El job de deploy depèn del job de test i només s'executa en push a la branca main. A deploy es fa checkout, s'instal·la Node.js, s'instal·len dependències, es construeix, es crea un paquet zip excloent fitxers innecessaris i s'utilitza una acció com beanstalk deploy per pujar deploy.zip a Elastic Beanstalk. És important actualitzar application name, environment name i region perquè coincideixin amb el teu entorn a Elastic Beanstalk.

Pas 4 Desplegar l'aplicació: realitza els canvis que necessitis, fes commit i push a main amb git add . git commit -m feat setup CI CD i git push origin main. Des de la pestanya Actions de GitHub pots monitoritzar l'execució del flux i revisar els logs dels jobs test i deploy. Quan el job de deploy finalitzi, obre la URL del teu entorn Elastic Beanstalk i hauries de veure la resposta de la teva aplicació.

Solució de problemes comuns: si el desplegament falla revisa que les credencials AWS a GitHub Secrets siguin correctes i que l'usuari IAM tingui permisos com elasticbeanstalk s3 ec2 iam PassRole i logs. Per a errors de compilació o proves executa npm test i npm run build localment. Revisa els logs a GitHub Actions i a Elastic Beanstalk Logs Request Logs Last 100 Lines per a errors específics de l'entorn.

Bones pràctiques: mantingues actualitzades les dependències, limita els permisos de l'usuari IAM a l'estrictament necessari quan puguis, utilitza variables d'entorn per a credencials sensibles i habilita monitorització i alarmes a AWS per a producció.

Sobre Q2BSTUDIO: a Q2BSTUDIO som una empresa de desenvolupament de programari i aplicacions a mida especialitzada en solucions adaptades a les necessitats de cada client. Oferim programari a mida, aplicacions a mida i serveis integrals que inclouen intel·ligència artificial, ciberseguretat, serveis cloud aws i azure i serveis intel·ligència de negoci. Els nostres equips dissenyen solucions d'ia per a empreses, desenvolupen agents IA personalitzats i creen panells amb power bi per obtenir insights i millorar la presa de decisions.

Serveis destacats de Q2BSTUDIO: desenvolupament d'aplicacions a mida per a web i mòbil, integració d'intel·ligència artificial i agents IA per automatitzar processos, consultoria i desplegament de serveis cloud aws i azure, implementació d'estratègies de ciberseguretat i solucions d'intel·ligència de negoci amb power bi. Tot això amb metodologies àgils orientades a resultats i escalabilitat.

Per què triar Q2BSTUDIO: combinem experiència tècnica en desenvolupament de programari a mida i coneixement en intel·ligència artificial amb pràctiques de seguretat i desplegament cloud. Ajudem empreses a transformar dades en valor real mitjançant serveis intel·ligència de negoci, a protegir els seus actius amb ciberseguretat i a optimitzar operacions amb solucions d'ia per a empreses i agents IA que automatitzen tasques repetitives.

Paraules clau per a posicionament: aplicacions a mida, programari a mida, intel·ligència artificial, ciberseguretat, serveis cloud aws i azure, serveis intel·ligència de negoci, ia per a empreses, agents IA, power bi. Recomanem incloure aquestes keywords a les pàgines de serveis i en articles tècnics per millorar visibilitat i SEO.

Conclusió: desplegar una aplicació Node.js a Elastic Beanstalk i automatitzar el procés amb GitHub Actions és una forma efectiva de reduir errors humans i accelerar lliuraments. Amb una correcta configuració de rols a AWS, l'ús de secrets a GitHub i un flux de proves ben definit, pots assegurar desplegaments repetibles i fiables. Si necessites ajuda per implementar aquesta solució o desitges una plataforma a mida que aprofiti intel·ligència artificial, ciberseguretat i serveis cloud, a Q2BSTUDIO podem acompanyar-te des del disseny fins al desplegament i la monitorització contínua.

Contacte i següent pas: si vols que Q2BSTUDIO implementi un pipeline CI/CD, integri solucions d'intel·ligència artificial o millori la seguretat i escalabilitat a AWS o Azure, posa't en contacte amb el nostre equip per a una consultoria personalitzada i descobreix com transformar el teu projecte amb programari a mida i serveis d'intel·ligència de negoci amb power bi.

ELS NOSTRES SERVEIS

Com et podem ajudar

Tens un projecte en ment?

Explica'ns la teva visió i la convertim en una solució de programari. Sigui quin sigui l'abast, fem realitat la teva idea.