Pipelines de CI/CD con AWS CodePipeline - Automatización desde el código fuente hasta el despliegue
Automatice todo, desde la detección de cambios en el código fuente hasta la compilación / las pruebas / el despliegue. Presentamos el diseño de los filtros de activación de V2, las acciones de aprobación manual y los despliegues entre cuentas.
Descripción general de CodePipeline
CodePipeline es un servicio de CI/CD que automatiza todo, desde los cambios en el código fuente hasta el despliegue. En la etapa de origen se detectan los cambios en GitHub o CodeCommit, en la etapa de compilación CodeBuild ejecuta las pruebas y la compilación, y en la etapa de despliegue CodeDeploy o CloudFormation ejecutan el despliegue.
Diseño del pipeline
Con el tipo de pipeline V2, los filtros de activación permiten iniciar el pipeline solo con los cambios en ramas o rutas de archivo específicas. Se coloca una acción de aprobación manual antes de la etapa de despliegue y se envía un correo electrónico a los aprobadores mediante una notificación de SNS. En los despliegues entre cuentas, se concede acceso al rol de la cuenta de producción en la política del bucket de S3 de artefactos del pipeline y en la política de claves de KMS. La acción de despliegue hace AssumeRole del rol de la cuenta de producción.
Estrategias de despliegue y rollback
En la etapa de despliegue de CodePipeline, puede realizar despliegues blue/green y despliegues canary en colaboración con CodeDeploy. En el despliegue blue/green de ECS, se lanza un nuevo conjunto de tareas, se verifica con tráfico de prueba y, si no hay problemas, se cambia el tráfico de producción. Después del cambio, el antiguo conjunto de tareas se conserva durante un tiempo determinado, por lo que, si surge un problema, se puede volver al antiguo conjunto de tareas. En el despliegue canary de Lambda, se envía el 10% del tráfico a la nueva versión, se supervisa la tasa de errores con CloudWatch Alarms y, si se supera un umbral, se hace un rollback automático. Con la acción de despliegue de CloudFormation, se puede montar un flujo que separe la creación y la ejecución de un conjunto de cambios y que ejecute los cambios después de comprobar su contenido mediante una aprobación manual.
Supervisión del pipeline y respuesta a fallos
Como el estado de ejecución del pipeline se publica como eventos de EventBridge, puede notificar a Slack a través de SNS cuando se produce un fallo o ejecutar reintentos automáticos con Lambda. Con las métricas de CloudWatch se visualizan el tiempo de ejecución del pipeline, la tasa de éxito y la duración de cada etapa, y se sigue la tendencia al aumento del tiempo de compilación y los cambios en la frecuencia de despliegue. Los errores de dependencias en la etapa de compilación y la falta de permisos en la etapa de despliegue pueden ser la causa de los fallos. Por ello, se revisan periódicamente la configuración de la caché de dependencias de buildspec.yml y el alcance de los permisos del rol de IAM. En el pipeline V2 se pueden definir variables a nivel de pipeline, lo que permite parametrizar el nombre del entorno y la región de destino del despliegue y reutilizar la misma definición de pipeline en varios entornos.
Precios de CodePipeline
El tipo V2 de CodePipeline se factura por uso según el número de ejecuciones de acciones: las primeras 100 ejecuciones al mes son gratuitas y, a partir de ahí, cuestan aproximadamente 0.002 USD por ejecución (a fecha de agosto de 2026). El tipo V1 tiene una tarifa fija de aproximadamente 1.00 USD al mes por pipeline. El tipo de pipeline se elige entre V1 y V2, y V2 tiene, además de la estructura de V1, parámetros para la seguridad de las publicaciones y la configuración de los activadores. Los cargos de compilación de CodeBuild (aproximadamente 0.005 USD por minuto con build.general1.small) y los cargos de CodeDeploy (los despliegues en EC2 son gratuitos) se generan por separado. Según la frecuencia de ejecución, cambia cuál de los dos, V1 o V2, resulta más barato.
Configuración de etapas y acciones
CodePipeline se configura colocando en orden, como etapas, procesos como la obtención del código fuente / la compilación / las pruebas / el despliegue. En cada etapa se colocan las acciones que realizan el procesamiento real. Por ejemplo, en la etapa de origen se obtienen los cambios del repositorio, en la etapa de compilación se ejecutan la compilación y las pruebas, y en la etapa de despliegue se publica en producción. Antes de un despliegue en producción, también puede intercalar un paso de aprobación por parte de una persona y avanzar después de una comprobación final. Se pueden ejecutar varias acciones en paralelo. Al configurar los procesos de forma explícita como etapas, el flujo de publicación resulta más fácil de entender y de gestionar.
Integración con otros servicios y ampliación
CodePipeline funciona en colaboración con diversos servicios. Delega la compilación y las pruebas en un servicio de compilación y el despliegue en diversos medios de despliegue, y los incorpora como acciones del pipeline. También se puede incorporar la creación de la infraestructura como un despliegue de IaC. Si incorpora como acciones herramientas de terceros o funciones que realizan un procesamiento propio, puede montar un pipeline adaptado al flujo de desarrollo de su organización. Si lo combina con un mecanismo que detecta los cambios en el repositorio e inicia el pipeline automáticamente, puede hacer que todo, desde el commit hasta la publicación, fluya de forma automática.
Resumen
CodePipeline es un servicio de orquestación de CI/CD que automatiza todo, desde los cambios en el código fuente hasta el despliegue. Puede definir las condiciones de inicio con los filtros de activación del tipo V2, realizar despliegues blue/green y canary en colaboración con CodeDeploy, y automatizar la supervisión del pipeline y las notificaciones de fallos en colaboración con EventBridge. Si combina las acciones de aprobación manual, puede introducir una comprobación humana en medio de los despliegues automáticos.
Referencias (recursos oficiales de AWS)
Las fuentes primarias de esta página son el sitio web y la documentación oficiales de AWS. Consulta las páginas oficiales siguientes para conocer las especificaciones y los precios más recientes.
- AWS CodePipeline (página oficial)
- AWS CodeBuild (página oficial)
- AWS CodeDeploy (página oficial)
- Documentación de AWS (oficial)
Si esta página y la documentación oficial difieren, prevalece la documentación oficial.