

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
<a name="eb-cli-codebuild"></a>

[AWS CodeBuild](https://docs.aws.amazon.com/codebuild/latest/userguide/)compila 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 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.](https://aws.amazon.com/about-aws/global-infrastructure/regional-product-services/)

## Creación de una aplicación de
<a name="eb-cli-codebuild-using"></a>

**Para crear una aplicación de Elastic Beanstalk que utilice CodeBuild**

1. Incluya un archivo de especificaciones de CodeBuild compilación en la [https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html)carpeta de la aplicación.

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

1. Ejecute [**eb init**](eb3-init.md) 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](https://docs.aws.amazon.com/codebuild/latest/userguide/build-spec-ref.html) 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](https://docs.aws.amazon.com/codebuild/latest/userguide/setting-up.html#setting-up-service-role) en la Guía del *AWS CodeBuild usuario*.  
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](AWSHowTo.iam.managed-policies.md).

`ComputeType`  
La cantidad de recursos que utiliza el contenedor de Docker en el entorno de compilación. CodeBuild Los valores válidos son BUILD\$1 GENERAL1 \$1SMALL, BUILD\$1 \$1MEDIUM y BUILD\$1 GENERAL1 \$1LARGE. 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](https://docs.aws.amazon.com/codebuild/latest/userguide/build-env-ref-available.html) 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](https://docs.aws.amazon.com/codebuild/latest/userguide/create-project.html).  
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 de `--timeout` de los comandos [**eb create**](eb3-create.md) o [**eb deploy**](eb3-deploy.md). 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
<a name="eb-cli-codebuild-using"></a>

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**](eb3-create.md) y cada vez que implemente cambios de código en el entorno posteriormente con el comando [**eb deploy**](eb3-deploy.md).

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