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 ofrecen CodeBuild. La integración entre Elastic Beanstalk y CodeBuild no funciona en estas regiones.
Para obtener información sobre los servicios de AWS que se ofrecen en cada región, consulte la Tabla de regiones
Creación de una aplicación
Para crear una aplicación de Elastic Beanstalk que utilice CodeBuild
-
Incluya un archivo de especificación de compilación de CodeBuild,
buildspec.yml
, en la carpeta de la aplicación. -
Añada una entrada
eb_codebuild_settings
con opciones específicas de Elastic Beanstalk al archivo. -
Ejecute eb init en la carpeta.
nota
No utilice los caracteres de punto (
.
) ni espacio (
Elastic Beanstalk amplía el formato de archivo de especificación de compilación de CodeBuild para que incluya las siguientes opciones de configuración adicionales:
eb_codebuild_settings:
CodeBuildServiceRole: role-name
ComputeType: size
Image: image
Timeout: minutes
CodeBuildServiceRole
-
El ARN o nombre del rol de servicio de AWS Identity and Access Management (IAM) que CodeBuild puede utilizar para interactuar con los servicios de AWS 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 para CodeBuild, consulte Crear un rol de servicio de CodeBuild en laAWS CodeBuild Guía del usuario.
nota
También necesita permisos para realizar acciones en el propio CodeBuild. La política de usuario administrada de Elastic Beanstalk AdministratorAccess-AWSElasticBeanstalk incluye todos los permisos de acción de CodeBuild necesarios. 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 Docker en el entorno de compilación de CodeBuild. Los valores válidos son BUILD_GENERAL1_SMALL, BUILD_GENERAL1_MEDIUM y BUILD_GENERAL1_LARGE.
Image
-
Nombre de la imagen de Docker Hub o de Amazon ECR que 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 construir su código y debe coincidir con la plataforma de destino de su aplicación. CodeBuild administra y mantiene un conjunto de imágenes específicamente destinadas utilizarse con Elastic Beanstalk. Se recomienda utilizar una de ellas. Para obtener más información, consulte Imágenes de Docker proporcionadas por CodeBuild en laAWS CodeBuild Guía del usuario.
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 archivobuildspec.yml
. Timeout
-
Periodo en minutos durante el que la compilación de CodeBuild se ejecuta antes de agotar el tiempo de espera. Este valor es opcional. Para obtener más información acerca de los valores válidos y predeterminados, consulte Create a Build Project in CodeBuild (Creación de un proyecto de compilación en CodeBuild).
nota
Este tiempo de espera controla la duración máxima de una ejecución de CodeBuild y la CLI de EB lo respeta también como parte de este 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
Cada vez que es necesario implementar el código de la aplicación, la CLI de EB utiliza CodeBuild para ejecutar una compilación y, después, implementa los artefactos de la compilación resultantes en el 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 se produce un error en el paso de CodeBuild, no se inicia la creación o la implementación del entorno.