Uso de la CLI de EB con AWS CodeBuild - AWS Elastic Beanstalk

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Uso de la CLI de EB con AWS CodeBuild

AWS CodeBuildcompila el código fuente, ejecuta pruebas unitarias y produce artefactos listos para implementarse. Puede utilizar CodeBuild junto con la CLI de EB para automatizar la creación de la aplicación a partir del código fuente. La creación del entorno y cada implementación posterior comienzan por un paso de creación y la posterior implementación de la aplicación resultante.

nota

Algunas regiones no lo ofrecen CodeBuild. La integración entre Elastic CodeBuild Beanstalk y Elastic no funciona en estas regiones.

Para obtener información sobre los AWS servicios que se ofrecen en cada región, consulte la tabla de regiones.

Creación de una aplicación de

Para crear una aplicación de Elastic Beanstalk que utilice CodeBuild
  1. Incluya un archivo de especificaciones de CodeBuild compilación en la buildspec.ymlcarpeta de la aplicación.

  2. Añada una entrada eb_codebuild_settings con opciones específicas de Elastic Beanstalk al archivo.

  3. Ejecute eb init en la carpeta.

    nota

    No utilice puntos (.) ni espacios ( ) en el nombre de la aplicación cuando utilice la CLI de EB con CodeBuild.

Elastic Beanstalk CodeBuild amplía el formato del archivo de especificaciones de compilación para incluir las siguientes configuraciones adicionales:

eb_codebuild_settings: CodeBuildServiceRole: role-name ComputeType: size Image: image Timeout: minutes
CodeBuildServiceRole

El ARN o el nombre del rol de servicio AWS Identity and Access Management (IAM) que CodeBuild puede utilizar para interactuar con los AWS servicios dependientes en su nombre. Este valor es obligatorio. Si lo omite, cualquier comando eb create o eb deploy posterior produce un error.

Para obtener más información sobre cómo crear un rol de servicio CodeBuild, consulte Crear un rol de CodeBuild servicio en la Guía del AWS CodeBuild usuario.

nota

También necesita permisos para realizar acciones por CodeBuild sí mismo. La política de usuarios gestionados de AdministratorAccessElastic AWSElastic Beanstalk: Beanstalk incluye todos los permisos de acción necesarios. CodeBuild Si no utiliza la política administrada, asegúrese de conceder los siguientes permisos en su política de usuario.

"codebuild:CreateProject", "codebuild:DeleteProject", "codebuild:BatchGetBuilds", "codebuild:StartBuild"

Para obtener más información, consulte Administración de políticas de usuario de Elastic Beanstalk.

ComputeType

La cantidad de recursos que utiliza el contenedor de Docker en el entorno de compilación. CodeBuild Los valores válidos son BUILD_ GENERAL1 _SMALL, BUILD_ _MEDIUM y BUILD_ GENERAL1 _LARGE. GENERAL1

Image

El nombre de la imagen de Docker Hub o Amazon ECR que se CodeBuild utiliza para el entorno de compilación. Esta imagen de Docker debe contener todas las herramientas y bibliotecas de tiempo de ejecución necesarias para compilar el código y debe coincidir con la plataforma de destino de la aplicación. CodeBuild administra y mantiene un conjunto de imágenes diseñadas específicamente para usarse con Elastic Beanstalk. Se recomienda utilizar una de ellas. Para obtener más información, consulte las imágenes de Docker proporcionadas por CodeBuild en la Guía del usuario.AWS CodeBuild

El valor Image es opcional. Si lo omite, el comando eb init intenta elegir la imagen que mejor se adapte a su plataforma de destino. Además, si ejecuta eb init en modo interactivo y no puede elegir la imagen automáticamente, le solicita que seleccione una. Al final de una inicialización correcta, eb init escribe la imagen elegida en el archivo buildspec.yml.

Timeout

El tiempo, en minutos, que dura la CodeBuild compilación antes de que se agote el tiempo de espera. Este valor es opcional. Para obtener más información sobre los valores válidos y predeterminados, consulte Crear un proyecto de compilación en CodeBuild.

nota

Este tiempo de espera controla la duración máxima de una CodeBuild ejecución y la CLI de EB también lo respeta como parte del primer paso para crear una versión de la aplicación. Es distinto del valor que puede especificar con la opción --timeout de los comandos eb create o eb deploy. El último valor controla la duración máxima que la CLI de EB debe esperar para la creación o la actualización del entorno.

Creación e implementación del código de la aplicación

Siempre que sea necesario implementar el código de la aplicación, la CLI de EB lo utiliza CodeBuild para ejecutar una compilación y, a continuación, implementa los artefactos de compilación resultantes en su entorno. Esto ocurre cuando crea un entorno de Elastic Beanstalk para su aplicación con el comando eb create y cada vez que implemente cambios de código en el entorno posteriormente con el comando eb deploy.

Si el CodeBuild paso no se realiza correctamente, no se inicia la creación o el despliegue del entorno.