Características de AWS CodeBuild

¿Por qué CodeBuild?

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

CodeBuild ejecuta sus compilaciones en entornos de compilación preconfigurados que contienen el sistema operativo, 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 con AWS CodePipeline, la consola de administración de AWS, o las CLI o los SDK de AWS.

AWS CodeBuild proporciona entornos de compilación para Java, Python, Node.js, Ruby, Go, Android, .NET Core for Linux y Docker.

Consulte una lista completa de entornos de compilación preconfigurados

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 Elastic Container Registry (Amazon ECR). Cuando crea un nuevo proyecto de creación de versiones, puede especificar la ubicación de la imagen Docker y CodeBuild la extraerá y utilizará como configuración del proyecto de creación. 

Ajustes configurables

Puede definir los comandos específicos que desea que 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 que se ejecutarán en cada fase de la compilación y otros ajustes. CodeBuild lo ayuda a comenzar rápidamente con archivos de especificaciones de compilación de muestra para situaciones comunes, como las compilaciones con Apache Maven, Gradle o npm.

Consulte los archivos de especificaciones de compilación de muestra

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.

Con CodeBuild, puede iniciar compilaciones de varias maneras. Por ejemplo, puede iniciar compilaciones en CodeBuild tras conectarse a AWS CodeCommit, GitHub, GitHub Enterprise, Bitbucket o Amazon Simple Storage Service (Amazon S3). También puede conectar CodeBuild y el repositorio de origen con AWS CodePipeline, que inicia una versión automáticamente cada vez que comete un cambio.

Aspectos generales

El modelo de cómputo bajo demanda y precio de pago por uso de CodeBuild le permite compilar e integrar código con mayor frecuencia. Así, podrá 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 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 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 CodePipeline, como AWS CodeDeploy y AWS Elastic Beanstalk.

Sus artefactos de compilación están cifrados con claves específicas de clientes administradas por AWS Key Management Service (AWS KMS). 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.

Puede utilizar la consola de CodeBuild, la Interfaz de la línea de comandos de AWS (AWS CLI), los SDK o las API de AWS o Amazon CloudWatch para ver información detallada sobre las compilaciones. 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 Amazon CloudWatch, resolver problemas de compilación o inspeccionar registros de compilación.

Puede crear notificaciones para los eventos que afectan sus proyectos de construcción. Las notificaciones se presentarán en forma de notificaciones de Amazon Simple Notification Service (Amazon SNS). Cada notificación incluye un mensaje de estado, así como un enlace a los recursos cuyo evento la generó.