AWS CodeBuild es un servicio de integración continua completamente administrado en la nube. Solo tiene que especificar la ubicación del código fuente, elegir la configuración de la compilación y CodeBuild ejecutará secuencias de comandos de compilación para compilar, probar y empaquetar el código. No es necesario aprovisionar ni escalar servidores ni instalar, configurar ni operar software.
Compile y pruebe su código
AWS CodeBuild ejecuta sus compilaciones en entornos de compilación preconfigurados que contienen el sistema operativo, el tiempo de ejecución del lenguaje de programación y las herramientas de compilación (p. ej., Apache Maven, Gradle, npm) necesarios para completar la tarea. Solo tiene que especificar la ubicación del código fuente y elegir los ajustes de la compilación, como el entorno y los comandos que se ejecutarán. AWS CodeBuild compila su código y almacena los artefactos en un bucket de Amazon S3, o puede usar un comando de compilación para cargarlos en un repositorio de artefactos. Puede crear, administrar e iniciar proyectos de compilación AWS CodePipeline, la consola de administración de AWS, o las CLI o los SDK de AWS.
Entornos de compilación preconfigurados
AWS CodeBuild proporciona entornos de compilación para Java, Python, Node.js, Ruby, Go, Android, .NET Core for Linux y Docker.
Aquí puede consultar una lista de entornos de compilación preconfigurados.
Personalice los entornos de compilación
Con AWS CodeBuild, puede utilizar sus propios entornos de compilación, como para el marco Microsoft .NET. Puede empaquetar el tiempo de ejecución y las herramientas para crear su compilación en una imagen de Docker y cargarlos en un repositorio de Docker Hub o en Amazon EC2 Container Registry (Amazon ECR). Cuando crea un nuevo proyecto de compilación, puede especificar la ubicación de la imagen de Docker y CodeBuild la extraerá y utilizará como configuración del proyecto de compilación.
Ajustes configurables
Especifique comandos de compilación
Puede definir los comandos específicos que desea que AWS CodeBuild realice, como instalar paquetes de herramientas de compilación, ejecutar pruebas unitarias y empaquetar el código. La especificación de compilación es un archivo YAML que le permite elegir los comandos a ejecutar en cada fase de la compilación y otros ajustes. CodeBuild lo ayuda a comenzar con rapidez con archivos de especificaciones de compilación de muestra para situaciones comunes, como las compilaciones con Apache Maven, Gradle o npm.
Puede consultar los archivos de especificaciones de compilación de muestra aquí.
Seleccione el tipo de cómputo
Puede seleccionar el tipo de cómputo que mejor se adapte a sus necesidades de desarrollo. Puede elegir entre tres niveles de capacidad de cómputo que varían en función del tipo de CPU y memoria. De este modo, puede elegir mayor cómputo de memoria y CPU si desea que las compilaciones se completen con mayor rapidez, o si sus compilaciones requieren un nivel mínimo de memoria y CPU para completarse. CodeBuild es compatible con los sistemas operativos Linux y Windows.
Elija integraciones con el origen
Con AWS CodeBuild, puede iniciar compilaciones de varias maneras. Por ejemplo, puede iniciar compilaciones en CodeBuild tras conectarse a AWS CodeCommit, GitHub o Amazon S3. También puede conectar CodeBuild y el repositorio de origen con AWS CodePipeline, que inicia una compilación automáticamente cada vez que confirma un cambio.
Integración continua y flujos de trabajo de entrega
El modelo de cómputo bajo demanda y pago por uso de AWS CodeBuild le permite compilar e integrar código con mayor frecuencia. Esto le permite encontrar y solucionar errores en la fase inicial del proceso de desarrollo, cuando son fáciles de corregir. Puede integrar CodeBuild en su flujo de trabajo de integración continua y entrega continua (CI/CD) existente mediante las integraciones con el origen, los comandos de compilación o la integración con Jenkins. CodeBuild también pertenece a una familia de servicios de código de AWS que le ayuda a poner en práctica CI/CD. Puede conectar CodeBuild con AWS CodePipeline, que automatiza la compilación y las pruebas de código en CodeBuild cada vez que confirma un cambio en el repositorio de origen. Puede crear este flujo de trabajo de CI con el asistente de AWS CodePipeline para conectar su repositorio de origen y, a continuación, seleccionar CodeBuild como proveedor de compilaciones.
Puede ampliar con facilidad su flujo de trabajo de integración continua a la entrega continua con CodePipeline mediante la integración de herramientas de carga o de pruebas de interfaces de usuarios de terceros (p. ej., BlazeMeter o Ghost Inspector) que se inician cuando CodeBuild completa la compilación. A continuación, puede implementarla en sus instancias o servidores locales con servicios integrados con AWS CodePipeline, como AWS CodeDeploy y AWS Elastic Beanstalk.
Seguridad y permisos
Sus artefactos de compilación están cifrados con claves específicas de clientes administradas por AWS Key Management Service (KMS). AWS CodeBuild se integra conAWS Identity and Access Management, de manera que puede configurar controles minuciosos acerca de qué usuarios y recursos de AWS tienen acceso a sus compilaciones.
Monitoreo
Puede utilizar la consola de AWS CodeBuild, la CLI, los SDK o las API de AWS o Amazon CloudWatch para ver información detallada sobre las compilaciones. AWS CodeBuild le muestra información como el momento de inicio y finalización, el estado y el ID de confirmación de la compilación. CodeBuild también transmite las métricas y los registros de compilación a CloudWatch. Puede usar CloudWatch para crear un panel personalizado, establecer una alarma de CloudWatch, resolver problemas de compilación o inspeccionar registros de compilación.
Recibir notificaciones
Puede crear notificaciones para los eventos que afectan sus proyectos de construcción. Las notificaciones aparecerán como notificaciones de Amazon SNS. Cada notificación incluye un mensaje de estado, así como un enlace a los recursos cuyo evento generó esa notificación.
Más información sobre los precios de AWS CodeBuild