AWS CodeBuild icono

AWS CodeBuild Populardesde 2016

Un servicio de compilación completamente administrado que ejecuta automáticamente la compilación y pruebas del código fuente

Qué hace

AWS CodeBuild es un servicio de compilación completamente administrado que compila código fuente, ejecuta pruebas y produce artefactos de software listos para desplegar. No requiere aprovisionar ni gestionar servidores de compilación. Escala automáticamente para procesar múltiples compilaciones simultáneamente y cobra solo por el tiempo de compilación utilizado.

Casos de uso

Se utiliza para compilación y empaquetado de aplicaciones, ejecución de pruebas unitarias y de integración, análisis de código estático y escaneo de seguridad, construcción de imágenes Docker, y como componente de compilación en pipelines CI/CD con CodePipeline.

Analogía cotidiana

Piensa en él como una fábrica bajo demanda. En lugar de mantener tu propia línea de producción (servidor de compilación) funcionando todo el tiempo, envías tus materiales (código fuente) a una fábrica (CodeBuild) que ensambla el producto (artefacto), lo prueba y te lo devuelve. Solo pagas por el tiempo que la fábrica trabaja en tu pedido.

¿Qué es AWS CodeBuild?

AWS CodeBuild es un servicio de integración continua que compila código, ejecuta pruebas y produce paquetes desplegables. A diferencia de Jenkins u otros servidores CI que requieren mantenimiento, CodeBuild es completamente administrado y escala automáticamente. Define tus pasos de compilación en un archivo buildspec.yml y CodeBuild se encarga del resto.

buildspec.yml y fases de compilación

El archivo buildspec.yml define los comandos que CodeBuild ejecuta en cada fase: install (instalar dependencias), pre_build (preparación), build (compilación principal) y post_build (empaquetado, notificaciones). También define los artefactos de salida y los reportes de pruebas. Puedes usar variables de entorno y secretos de Secrets Manager.

Entornos de compilación y caché

CodeBuild proporciona entornos de compilación preconfigurados con diferentes sistemas operativos, runtimes y herramientas. También puedes usar imágenes Docker personalizadas. El caché de dependencias (S3 o local) acelera compilaciones posteriores al reutilizar dependencias descargadas previamente. Para más detalles sobre entornos y caché, los libros en Amazon son un buen recurso.

Cómo empezar

Crea un proyecto de CodeBuild especificando la fuente (GitHub, CodeCommit, S3), el entorno de compilación y la ubicación de los artefactos de salida. Añade un archivo buildspec.yml a la raíz de tu repositorio con los comandos de compilación. Inicia una compilación manualmente o configura un trigger automático con CodePipeline o webhooks de GitHub.

Aspectos a tener en cuenta

  • Coloque buildspec.yml en la raíz del repositorio y gestiónelo con control de versiones. Así se puede rastrear el historial de cambios de los pasos de compilación
  • Al habilitar el guardado de la caché de compilación en S3, se puede acortar considerablemente el tiempo de npm install o pip install
CompartirXB!