Pipeline CI/CD con AWS CodePipeline - Automatización desde el código fuente hasta el despliegue

Automatice desde la detección de cambios en el código fuente hasta la compilación, pruebas y despliegue. Presentamos filtros de trigger V2, acciones de aprobación manual y diseño de despliegue entre cuentas.

Descripción general de CodePipeline

CodePipeline es un servicio CI/CD que automatiza desde los cambios en el código fuente hasta el despliegue. La etapa de origen detecta cambios en GitHub o CodeCommit, la etapa de compilación ejecuta pruebas y compilación con CodeBuild, y la etapa de despliegue ejecuta el despliegue con CodeDeploy o CloudFormation.

Diseño de pipeline

El tipo Pipeline V2 permite iniciar el pipeline solo con cambios en ramas o rutas de archivo específicas mediante filtros de trigger. Coloque acciones de aprobación manual antes de la etapa de despliegue y envíe correos electrónicos a los aprobadores mediante notificaciones SNS. Para despliegues entre cuentas, permita el acceso al rol de la cuenta de producción en la política del bucket S3 de artefactos del pipeline y la política de clave KMS, y especifique el rol de la cuenta de producción en la acción de despliegue para ejecutar el despliegue entre cuentas.

Estrategias de despliegue y rollback

En la etapa de despliegue de CodePipeline, puede lograr despliegues blue/green y canario en coordinació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. El antiguo conjunto de tareas se mantiene durante un período después del cambio, permitiendo un rollback inmediato si surgen problemas. El despliegue canario de Lambda cambia gradualmente el tráfico (por ejemplo, 10% → 50% → 100%) y realiza un rollback automático si se detectan errores durante el período de cambio. Para aprender sobre CI/CD y automatización de despliegues, consulte libros en Amazon.

Monitoreo de pipeline y respuesta a fallos

El estado de ejecución del pipeline se emite como eventos de EventBridge, permitiendo notificar a Slack vía SNS en caso de fallo o ejecutar reintentos automáticos con Lambda. Visualice el tiempo de ejecución del pipeline, tasa de éxito y tiempo de cada etapa con métricas de CloudWatch, y rastree tendencias de aumento en el tiempo de compilación o cambios en la frecuencia de despliegue. La mayoría de los fallos son errores de dependencias en la etapa de compilación o errores de permisos en la etapa de despliegue, y la resolución rápida se logra verificando los logs de CloudWatch.

Precios de CodePipeline

CodePipeline tipo V2 tiene un modelo de pago por uso basado en el número de ejecuciones de acciones, con las primeras 100 por mes gratuitas y aproximadamente 0.002 USD por ejecución adicional. El tipo V1 tiene un cargo fijo de aproximadamente 1.00 USD por pipeline al mes. Se recomienda el tipo V2 para todas las nuevas creaciones. Los cargos de compilación de CodeBuild (aproximadamente 0.005 USD por minuto para build.general1.small) y los cargos de recursos de despliegue se cobran por separado.

Resumen

CodePipeline es un servicio de orquestación CI/CD que automatiza desde los cambios en el código fuente hasta el despliegue. Controle condiciones de activación detalladas con filtros de trigger del tipo V2, logre despliegues blue/green y canario con la integración de CodeDeploy, y automatice el monitoreo del pipeline y las notificaciones de fallos con la integración de EventBridge. Al combinar acciones de aprobación manual, puede equilibrar la automatización con el juicio humano.