Día 53: CI/CD en AWS, Parte 4

Guía paso a paso para configurar un pipeline CI/CD en AWS con CodeCommit CodeBuild CodeDeploy y CodePipeline para despliegues en EC2 con nginx; incluye appspec.yml, scripts, S3 como almacén de artefactos, pruebas y buenas prácticas.

23 sept 2025 • 5 min de lectura • Equip Q2BSTUDIO

Inteligencia-Artificial-

Día 53: CI/CD en AWS, Parte 4. En este artículo explicamos paso a paso cómo configurar un pipeline CI CD en AWS usando CodeCommit, CodeBuild, CodeDeploy y CodePipeline, junto con buenas prácticas y ejemplos prácticos. Este contenido está pensado para equipos de desarrollo que busquen automatizar despliegues en instancias EC2 con nginx. Q2BSTUDIO es una empresa de desarrollo de software y aplicaciones a medida especializada en inteligencia artificial, ciberseguridad y servicios cloud AWS y Azure, capaz de implementar soluciones de integración continua para proyectos empresariales.

Prerrequisitos comprobación rápida

• Repositorio en CodeCommit que contenga index.html buildspec.yml appspec.yml y cualquier carpeta de scripts por ejemplo scripts/restart_nginx.sh

• Instancia EC2 en ejecución (se recomienda Amazon Linux 2) con nginx instalado y el agente de CodeDeploy instalado y en funcionamiento. Si el agente no está instalado, siga la guía de instalación del agente.

• Proyecto CodeBuild que compile el repositorio y genere un artefacto correcto según buildspec.yml.

• Un bucket S3 en la misma región que actuará como almacén de artefactos de CodePipeline.

• Roles IAM: rol de servicio para CodePipeline para que interactúe con CodeBuild CodeDeploy y S3, rol de servicio para CodeBuild y rol de servicio para CodeDeploy. La consola puede crear roles automáticamente si se prefiere.

Parte A Crear una aplicación CodeDeploy y un Deployment Group

Consola recomendado para la primera vez

1 Abra la consola de AWS vaya a CodeDeploy luego Applications y Create application. Nombre MyCodeDeployApp Compute platform EC2 On premises

2 Tras crear la aplicación vaya a Deployment groups y Create deployment group. Deployment group name MyDeploymentGroup Service role seleccione o permita que la consola cree un rol IAM con permisos para que CodeDeploy actúe sobre los recursos Environment configuration elija cómo identificar las instancias EC2 etiquetas EC2 recomendadas etiquete sus instancias y configure filtros por etiqueta o use Auto Scaling group o IDs de instancias EC2. Deje otros valores por defecto o configure rollback y triggers según necesite y cree el deployment group

3 Ahora tiene un deployment group apuntable por CodeDeploy

CLI ejemplo

Etiquete la instancia primero por ejemplo

aws ec2 create-tags --resources i-0123456789abcdef0 --tags Key=CodeDeploy,Value=day53

Crear deployment group ejemplo reemplazando ARNs y nombres

aws deploy create-deployment-group --application-name MyCodeDeployApp --deployment-group-name MyDeploymentGroup --service-role-arn arn:aws:iam::123456789012:role/CodeDeployServiceRole --ec2-tag-filters Key=CodeDeploy,Value=day53,Type=KEY_AND_VALUE --deployment-config-name CodeDeployDefault.OneAtATime --auto-rollback-configuration enabled=true,events=DEPLOYMENT_FAILURE

Parte B Verificar appspec.yml y scripts de despliegue

El archivo appspec.yml en la raíz del repositorio debe mapear archivos y definir hooks. Ejemplo mínimo para EC2 nginx

version: 0.0 os: linux files: - source: /index.html destination: /usr/share/nginx/html hooks: AfterInstall: - location: scripts/restart_nginx.sh timeout: 300 runas: root

Ejemplo de script scripts/restart_nginx.sh

#!/bin/bash sudo systemctl restart nginx

Asegúrese de que los scripts son ejecutables chmod +x scripts/*.sh y haga push al repositorio CodeCommit

Parte C Crear el bucket S3 para artefactos de CodePipeline

CodePipeline necesita un bucket S3 en la misma región. Ejemplo de creación

aws s3 mb s3://my-pipeline-artifacts-123456789012 --region eu-west-1

Reemplace el nombre por uno único para su cuenta y región

Parte D Crear el pipeline en CodePipeline consola el método más sencillo

1 Abra la consola vaya a CodePipeline y Create pipeline

2 Pipeline settings Nombre MyPipeline-Day53 Service role permita que CodePipeline cree un nuevo rol o especifique un ARN Artifact store seleccione el bucket S3 que creó

3 Añadir Source stage Provider AWS CodeCommit seleccione su repositorio por ejemplo MyDemoRepo Branch main o la rama que use

4 Añadir Build stage Provider AWS CodeBuild seleccione el proyecto CodeBuild creado anteriormente que usa buildspec.yml para construir Asegúrese de que CodeBuild produce un artefacto de salida si necesita pasar archivos a CodeDeploy

5 Añadir Deploy stage Provider AWS CodeDeploy Application Name seleccione MyCodeDeployApp Deployment Group seleccione MyDeploymentGroup

6 Cree el pipeline CodePipeline iniciará la ejecución. Empuje un commit para disparar el pipeline

Parte E Probar el pipeline

1 Realice un cambio pequeño en index.html por ejemplo modifique el texto git add index.html git commit -m Test pipeline Day 53 git push origin main

Vaya al panel de CodePipeline y observe las etapas Source Build Deploy. Cuando el despliegue finalice abra la IP pública de la EC2 o la URL del load balancer y compruebe que index.html muestra la actualización. Si no funciona revise los logs de CodeDeploy y el estado del agente en la instancia EC2

Resolución rápida de problemas comunes

• Falla en Source verifique repositorio y rama y que el rol de CodePipeline tiene permisos adecuados

• Falla en CodeBuild revise la sintaxis de buildspec.yml y los logs de construcción en CodeBuild

• Falla en CodeDeploy asegúrese de que el agente de CodeDeploy está instalado y en ejecución en la EC2 que appspec.yml tiene rutas correctas y que los scripts son ejecutables. Revise el archivo de log en la instancia por ejemplo /var/log/aws/codedeploy-agent/codedeploy-agent.log

• Errores de permisos confirme que existen los roles de servicio para CodePipeline CodeBuild y CodeDeploy y que tienen las políticas necesarias. La creación automática desde la consola simplifica esto

Servicios y ayuda de Q2BSTUDIO

Si su empresa necesita soporte profesional para implementar pipelines CI CD despliegues automatizados y prácticas de DevOps Q2BSTUDIO ofrece servicios de consultoría en integración continua despliegue continuo y automatización. Podemos ayudar a diseñar flujos de trabajo seguros y escalables integrando aplicaciones a medida con servicios gestionados en la nube. Vea nuestras soluciones de Servicios cloud AWS y Azure y cómo desarrollamos aplicaciones a medida y software a medida para empresas que necesitan acelerar su transformación digital.

Además Q2BSTUDIO cuenta con experiencia en inteligencia artificial agentes IA ciberseguridad servicios de inteligencia de negocio y Power BI para que su plataforma no solo despliegue correctamente sino que también sea segura y genere valor de negocio con datos. Palabras clave integradas para mejorar 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

Si desea que le acompañemos en la implementación de CI CD en AWS o en la migración a pipelines más avanzados contacte con Q2BSTUDIO para una evaluación personalizada

UNA PAUSA?

Juga una estona abans de marxar

ELS NOSTRES SERVEIS

Com et podem ajudar

Intel·ligència artificial

Agents d'IA, chatbots i assistents intel·ligents que automatitzen tasques i atenen els teus clients 24/7 per millorar l'eficiència del teu negoci.

Més info

Desenvolupament de programari

Aplicacions web, mòbils i d'escriptori, intranets, e-commerce, SaaS i plataformes de gestió dissenyades per a les necessitats concretes de la teva empresa.

Més info

Serveis cloud

Migració, infraestructura, hosting gestionat, alta disponibilitat i seguretat en Microsoft Azure i Amazon Web Services perquè el teu negoci escali sense límits.

Més info

Ciberseguretat i pentesting

Auditories de seguretat, test d'intrusió (pentesting) i protecció d'aplicacions, dades i infraestructura on-premise i cloud, amb hacking ètic i compliment normatiu.

Més info

Business Intelligence

Quadres de comandament i anàlisi de dades amb Power BI: integrem les teves fonts, dissenyem dashboards i KPIs i convertim les teves dades en decisions.

Més info

Automatització de processos

Automatitzem tasques repetitives i connectem les teves aplicacions amb n8n, Power Automate, Make i RPA, eliminant treball manual i augmentant la productivitat.

Més info

Formació per a empreses

Formem els teus equips en tecnologia amb criteri: desenvolupament web, bases de dades, Git, bones pràctiques i seguretat, automatització amb n8n, intel·ligència artificial per a empreses i creació de solucions d'IA amb Azure AI Foundry.

Més info

Auditoria de codi

Auditem el codi que creguis tu, el teu equip o una IA: et diem què està bé i què millorar, el securitzem i el deixem llest per a producció, web o app.

Més info

Generació d'imatges amb IA

Creem per tu les imatges que necessita el teu negoci amb intel·ligència artificial: producte, xarxes, publicitat, il·lustració i avatars. Tu ens dius què vols i t'ho lliurem llest per fer servir.

Més info

Generació de vídeos amb IA

Creem per tu vídeos amb intel·ligència artificial: promocionals, per a xarxes, presentadors virtuals, doblatge i animacions. Ens comptes la idea i t'ho lliurem muntat i llest per publicar.

Més info

Avatars conversacionals amb IA

Creem avatars conversacionals amb IA —humans digitals amb cara i veu— que atenen els teus clients i equips amb el coneixement de la teva empresa, a la teva web, monitors interactius, WhatsApp o Teams.

Més info

Màrqueting Online i IA

Google Ads, Meta Ads, LinkedIn Ads i posicionament en motors d'IA (GEO/AEO): captem clients i fem que la teva marca aparegui on et busquen, també a ChatGPT, Gemini i Perplexity.

Més info

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.

Live Chat