AWS CodeBuild Popular2016年〜
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
- buildspec.yml はリポジトリのルートに配置し、バージョン管理すること。ビルド手順の変更履歴を追跡できる
- ビルドキャッシュを S3 に保存する設定を有効にすると、npm install や pip install の時間を大幅に短縮できる