Guía para principiantes: Despliegue de Node.js en AWS Elastic Beanstalk con GitHub Actions

Guía práctica en español para desplegar una app Node.js en AWS Elastic Beanstalk y configurar CI/CD con GitHub Actions para pruebas y despliegue continuo.

17 ago 2025 • 7 min read • Q2BSTUDIO Team

Inteligencia-Artificial-

Automatizar el despliegue de aplicaciones ahorra tiempo y mejora el flujo de trabajo de desarrollo. En esta guía práctica en español aprenderás a desplegar una aplicación Node.js en AWS Elastic Beanstalk y a configurar una canalización CI CD con GitHub Actions para que cada vez que se realice un push a la rama principal el código se pruebe y se despliegue de forma automática.

Qué es AWS Elastic Beanstalk: Elastic Beanstalk es un servicio de AWS que facilita el despliegue y la gestión de aplicaciones en la nube. Permite subir la aplicación y abstrae la provisión de capacidad, balanceo de carga, escalado automático y monitorización de la salud de la aplicación.

Por qué usar Elastic Beanstalk: simplifica la infraestructura, facilita la escalabilidad y puede ser económico al aprovechar el nivel gratuito de AWS para aplicaciones sencillas.

Qué es GitHub Actions: GitHub Actions es una plataforma de CI CD que permite automatizar la compilación, pruebas y despliegue. Con Actions se crean flujos de trabajo que pueden ejecutarse cuando hay un push o un pull request y que contienen trabajos y pasos que se ejecutan en runners gestionados.

Estructura habitual de un flujo de trabajo: evento que desencadena el flujo, jobs o trabajos que agrupan pasos y pasos que ejecutan comandos concretos. En esta guía usaremos un job de pruebas y otro de despliegue.

Requisitos previos: una cuenta AWS con un usuario IAM con permisos para Elastic Beanstalk, un repositorio en GitHub con el código de la aplicación Node.js y Node.js instalado localmente versión 18 o superior.

Paso 1 Configurar la aplicación Node.js: para empezar rápido puedes clonar un repositorio de ejemplo con Express y TypeScript. Desde la terminal ejecutar git clone https://github.com/samowolabi/nodejs-elastic-beanstalk-with-githubactions-app.git y luego cd nodejs-elastic-beanstalk-with-githubactions-app. Instala dependencias con npm install. La estructura típica del proyecto incluye la carpeta .github workflows con el archivo de flujo, src con el código fuente, test con pruebas, package.json y tsconfig.json.

Paso 2 Crear el entorno en Elastic Beanstalk: en la consola de AWS busca Elastic Beanstalk y crea una nueva aplicación. Asigna un nombre descriptivo y selecciona la plataforma Node.js adecuada, por ejemplo Node.js 18 o superior. Para despliegues simples usa el preset Single instance si deseas permanecer en el nivel gratuito durante las pruebas.

Configurar acceso de servicio: Elastic Beanstalk necesita un service role y un instance profile. Si no existen puedes crear un nuevo service role con el nombre aws-elasticbeanstalk-service-role y un instance profile para las instancias EC2 que incluya políticas como AWSElasticBeanstalkWebTier. Estas acciones se realizan desde la propia consola de Elastic Beanstalk y la consola de IAM.

Revisión y lanzamiento: una vez configurado el rol y el perfil de instancia puedes omitir configuraciones avanzadas y lanzar el entorno. AWS tardará unos minutos en crear los recursos y, cuando esté listo, verás una URL pública con la aplicación de ejemplo.

Variables de entorno: si tu aplicación necesita variables configura en la consola de Elastic Beanstalk dentro de Configuration Software Edit y añade pares clave valor como NODE_ENV con valor production. Elastic Beanstalk inyecta automáticamente la variable PORT.

Paso 3 Configurar CI CD con GitHub Actions: para que GitHub Actions despliegue en tu cuenta AWS necesitas unas credenciales con access key y secret key. En la consola de IAM selecciona el usuario correspondiente y crea una access key en Security credentials seleccionando Third party service si se solicita. Copia Access key ID y Secret access key en el momento de la creación porque el secret no se mostrará de nuevo.

Añadir credenciales a GitHub: abre tu repositorio en GitHub y ve a Settings Secrets and variables Actions. Crea nuevos secretos de repositorio llamados AWS_ACCESS_KEY_ID y AWS_SECRET_ACCESS_KEY con los valores obtenidos en AWS. Estos secretos serán usados por el flujo de GitHub Actions para autenticarse con AWS.

Descripción del flujo de trabajo CI CD: el flujo típico ejecuta pruebas en varias versiones de Node.js, por ejemplo 18.x y 20.x. El job de test realiza checkout del código, configura Node.js con actions setup node, instala dependencias con npm ci, ejecuta npm test y construye con npm run build. El job de deploy depende del job de test y solo se ejecuta en push a la rama main. En deploy se hace checkout, se instala Node.js, se instala dependencias, se construye, se crea un paquete zip excluyendo archivos innecesarios y se utiliza una acción como beanstalk deploy para subir deploy.zip a Elastic Beanstalk. Es importante actualizar application name, environment name y region para que coincidan con tu entorno en Elastic Beanstalk.

Paso 4 Desplegar la aplicación: realiza los cambios que necesites, commitea y push a main con git add . git commit -m feat setup CI CD y git push origin main. Desde la pestaña Actions de GitHub puedes monitorizar la ejecución del flujo y revisar los logs de los jobs test y deploy. Cuando el job de deploy finalice, abre la URL de tu entorno Elastic Beanstalk y deberías ver la respuesta de tu aplicación.

Solución de problemas comunes: si el despliegue falla revisa que las credenciales AWS en GitHub Secrets sean correctas y que el usuario IAM tenga permisos como elasticbeanstalk s3 ec2 iam PassRole y logs. Para errores de compilación o pruebas ejecuta npm test y npm run build localmente. Revisa los logs en GitHub Actions y en Elastic Beanstalk Logs Request Logs Last 100 Lines para errores específicos del entorno.

Buenas prácticas: mantén actualizadas las dependencias, limita los permisos del usuario IAM a lo estrictamente necesario cuando puedas, usa variables de entorno para credenciales sensibles y habilita monitorización y alarmas en AWS para producción.

Acerca de Q2BSTUDIO: en Q2BSTUDIO somos una empresa de desarrollo de software y aplicaciones a medida especializada en soluciones adaptadas a las necesidades de cada cliente. Ofrecemos software a medida, aplicaciones a medida y servicios integrales que incluyen inteligencia artificial, ciberseguridad, servicios cloud aws y azure y servicios inteligencia de negocio. Nuestros equipos diseñan soluciones de ia para empresas, desarrollan agentes IA personalizados y crean paneles con power bi para obtener insights y mejorar la toma de decisiones.

Servicios destacados de Q2BSTUDIO: desarrollo de aplicaciones a medida para web y móvil, integración de inteligencia artificial y agentes IA para automatizar procesos, consultoría y despliegue de servicios cloud aws y azure, implementación de estrategias de ciberseguridad y soluciones de inteligencia de negocio con power bi. Todo esto con metodologías ágiles orientadas a resultados y escalabilidad.

Por qué elegir Q2BSTUDIO: combinamos experiencia técnica en desarrollo de software a medida y conocimiento en inteligencia artificial con prácticas de seguridad y despliegue cloud. Ayudamos a empresas a transformar datos en valor real mediante servicios inteligencia de negocio, a proteger sus activos con ciberseguridad y a optimizar operaciones con soluciones de ia para empresas y agentes IA que automatizan tareas repetitivas.

Palabras clave para posicionamiento: aplicaciones a medida, software a medida, inteligencia artificial, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio, ia para empresas, agentes IA, power bi. Recomendamos incluir estas keywords en las páginas de servicios y en artículos técnicos para mejorar visibilidad y SEO.

Conclusión: desplegar una aplicación Node.js en Elastic Beanstalk y automatizar el proceso con GitHub Actions es una forma efectiva de reducir errores humanos y acelerar entregas. Con una correcta configuración de roles en AWS, el uso de secretos en GitHub y un flujo de pruebas bien definido, puedes asegurar despliegues repetibles y fiables. Si necesitas ayuda para implementar esta solución o deseas una plataforma a medida que aproveche inteligencia artificial, ciberseguridad y servicios cloud, en Q2BSTUDIO podemos acompañarte desde el diseño hasta el despliegue y la monitorización continua.

Contacto y siguiente paso: si quieres que Q2BSTUDIO implemente un pipeline CI CD, integre soluciones de inteligencia artificial o mejore la seguridad y escalabilidad en AWS o Azure, ponte en contacto con nuestro equipo para una consultoría personalizada y descubre cómo transformar tu proyecto con software a medida y servicios de inteligencia de negocio con power bi.

A BREAK?

Play for a moment before you go

OUR SERVICES

How we can help you

Artificial intelligence

AI agents, chatbots, and intelligent assistants that automate tasks and serve your customers 24/7 to improve the efficiency of your business.

More info

Software Development

Web, mobile, and desktop applications, intranets, e-commerce, SaaS, and management platforms designed for your company's specific needs.

More info

Cloud services

Migration, infrastructure, managed hosting, high availability, and security on Microsoft Azure and Amazon Web Services to help your business scale without limits.

More info

Cybersecurity and pentesting

Security audits, penetration testing and protection of applications, data and infrastructure on-premise and cloud, with ethical hacking and regulatory compliance.

More info

Business Intelligence

Dashboards and data analysis with Power BI: we integrate your sources, design dashboards and KPIs and turn your data into decisions.

More info

Process automation

We automate repetitive tasks and connect your applications with n8n, Power Automate, Make, and RPA, eliminating manual work and increasing productivity.

More info

Training for Companies

We train your teams in technology with criteria: web development, databases, Git, best practices and security, automation with n8n, artificial intelligence for companies and creation of AI solutions with Azure AI Foundry.

More info

Code Auditing

We audit the code that you, your team or an AI create: we tell you what is good and what to improve, we secure it and make it ready for production, web or app.

More info

AI Image Generation

We create for you the images that your business needs with artificial intelligence: product, networks, advertising, illustration and avatars. You tell us what you want and we deliver it ready to use.

More info

AI Video Generation

We create videos with artificial intelligence for you: promotional, networking, virtual presenters, dubbing and animations. You tell us the idea and we will deliver it assembled and ready to publish.

More info

AI Conversational Avatars

We create conversational avatars with AI – digital humans with a face and voice – that serve your customers and teams with the knowledge of your company, on your website, interactive monitors, WhatsApp or Teams.

More info

Online Marketing and AI

Google Ads, Meta Ads, LinkedIn Ads and AI Engine Positioning (GEO/AEO): we attract customers and make your brand appear where they search for you, also on ChatGPT, Gemini and Perplexity.

More info

Do you have a project in mind?

Tell us your vision and we'll turn it into a software solution. Whatever the scope, we make your idea real.

Live Chat