En CodeBuild, puede especificar la imagen del entorno de procesamiento y tiempo de ejecución que CodeBuild utiliza para ejecutar las compilaciones. La computación se refiere al motor de computación (la CPU, la memoria y el sistema operativo) adminitrados y mantenidos por CodeBuild. Una imagen de entorno de ejecución es una imagen de contenedor que se ejecuta sobre la plataforma de procesamiento seleccionada e incluye herramientas adicionales que la compilación podría necesitar, como la AWS CLI.
Acerca de los modos de computación
CodeBuild ofrece los siguientes modos de computación:
-
EC2
-
AWS Lambda
EC2 ofrece flexibilidad optimizada durante la compilación y AWS Lambda ofrece velocidades de arranque optimizadas. AWS Lambda admite compilaciones más rápidas debido a una latencia de inicio más baja. AWS Lambda también se escala automáticamente para que las compilaciones no tengan que esperar en la cola para su ejecución. Para obtener más información, consulte Ejecución de compilaciones en la computación de AWS Lambda.
Acerca de los tipos de entornos
AWS CodeBuild proporciona entornos de compilación con la siguiente memoria, CPU virtuales y espacio en disco disponibles para el modo de computación EC2:
Tipo de computación | Valor de computeType del entorno | Valor de tipo del entorno | Memoria | vCPU | Espacio en disco |
---|---|---|---|---|---|
ARM Small ¹ | BUILD_GENERAL1_SMALL |
ARM_CONTAINER |
4 GB | 2 | 64 GB |
ARM Medium ¹ | BUILD_GENERAL1_MEDIUM |
ARM_CONTAINER |
8 GB | 4 | 128 GB |
ARM Large ¹ | BUILD_GENERAL1_LARGE |
ARM_CONTAINER |
16 GB | 8 | 128 GB |
ARM XLarge ¹ | BUILD_GENERAL1_XLARGE |
ARM_CONTAINER |
64 GB | 32 | 256 GB |
ARM 2XLarge ¹ | BUILD_GENERAL1_2XLARGE |
ARM_CONTAINER |
96 GB | 48 | 824 GB |
Linux Small ¹ | BUILD_GENERAL1_SMALL |
LINUX_CONTAINER |
3 GB | 2 | 64 GB |
Linux Medium ¹ | BUILD_GENERAL1_MEDIUM |
LINUX_CONTAINER |
7 GB | 4 | 128 GB |
Linux Large ¹ | BUILD_GENERAL1_LARGE |
LINUX_CONTAINER |
15 GB | 8 | 128 GB |
Linux XLarge ¹ | BUILD_GENERAL1_XLARGE |
LINUX_CONTAINER |
70 GB | 36 | 256 GB |
Linux 2XLarge | BUILD_GENERAL1_2XLARGE |
LINUX_CONTAINER |
145 GB | 72 | 824 GB (SSD) |
Linux GPU Small | BUILD_GENERAL1_SMALL |
LINUX_GPU_CONTAINER |
16 GB | 4 | 220 GB |
Linux GPU Large | BUILD_GENERAL1_LARGE |
LINUX_GPU_CONTAINER |
255 GB | 32 | 50 GB |
macOS Medium | BUILD_GENERAL1_MEDIUM |
MAC_ARM |
24 GB | 8 | 128 GB |
macOS Large | BUILD_GENERAL1_LARGE |
MAC_ARM |
32 GB | 12 | 256 GB |
Windows Medium ¹ | BUILD_GENERAL1_MEDIUM |
WINDOWS_SERVER_2019_CONTAINER |
7 GB | 4 | 128 GB |
Windows Large ¹ | BUILD_GENERAL1_LARGE |
WINDOWS_SERVER_2019_CONTAINER |
15 GB | 8 | 128 GB |
¹ La última versión de este tipo de imagen está almacenada en la caché. Si se especifica una versión más concreta, CodeBuild aprovisiona esa versión en lugar de la versión en la caché. Esto puede dar lugar a tiempos de desarrollo más largos. Por ejemplo, para beneficiarse del almacenamiento en caché, especifique aws/codebuild/amazonlinux2-x86_64-standard:5.0
en lugar de una versión más detallada, como aws/codebuild/amazonlinux2-x86_64-standard:5.0-1.0.0
.
AWS CodeBuild proporciona entornos de compilación con la memoria disponible y el espacio en disco siguientes para el modo de computación AWS Lambda:
Tipo de computación | Valor de computeType del entorno | Valor de tipo del entorno | Memoria | Espacio en disco |
---|---|---|---|---|
ARM Lambda 1GB | BUILD_LAMBDA_1GB |
ARM_LAMBDA_CONTAINER |
1 GB | 10 GB |
ARM Lambda 2GB | BUILD_LAMBDA_2GB |
ARM_LAMBDA_CONTAINER |
2 GB | 10 GB |
ARM Lambda 4GB | BUILD_LAMBDA_4GB |
ARM_LAMBDA_CONTAINER |
4 GB | 10 GB |
ARM Lambda 8GB | BUILD_LAMBDA_8GB |
ARM_LAMBDA_CONTAINER |
8 GB | 10 GB |
ARM Lambda de 10 GB | BUILD_LAMBDA_10GB |
ARM_LAMBDA_CONTAINER |
10 GB | 10 GB |
Linux Lambda 1GB | BUILD_LAMBDA_1GB |
LINUX_LAMBDA_CONTAINER |
1 GB | 10 GB |
Linux Lambda 2GB | BUILD_LAMBDA_2GB |
LINUX_LAMBDA_CONTAINER |
2 GB | 10 GB |
Linux Lambda 4GB | BUILD_LAMBDA_4GB |
LINUX_LAMBDA_CONTAINER |
4 GB | 10 GB |
Linux Lambda 8GB | BUILD_LAMBDA_8GB |
LINUX_LAMBDA_CONTAINER |
8 GB | 10 GB |
Linux Lambda 10GB | BUILD_LAMBDA_10GB |
LINUX_LAMBDA_CONTAINER |
10 GB | 10 GB |
Al utilizar otros tipos de entornos, se recomienda utilizar una imagen en caché para reducir los tiempos de compilación.
El espacio de disco indicado para cada entorno de compilación solo está disponible en el directorio especificado por la variable de entorno CODEBUILD_SRC_DIR
.
Para elegir un tipo de computación:
-
En la consola de CodeBuild, en el asistente Crear proyecto de compilación o la página Editar proyecto de compilación, en Entorno, expanda Configuración adicional y, a continuación, seleccione una de las opciones de Tipo de computación. Para obtener más información, consulte Creación de un proyecto de compilación (consola) o Cambiar la configuración de un proyecto de compilación (consola).
-
Para la AWS CLI, ejecute el comando
create-project
oupdate-project
, especificando el valor decomputeType
del objetoenvironment
. Para obtener más información, consulte Crear un proyecto de compilación (AWS CLI) o Cambiar la configuración de un proyecto de compilación (AWS CLI). -
Para el SDK de AWS, llame al equivalente de la operación
CreateProject
oUpdateProject
para su lenguaje de programación de destino, especificando el equivalente del valor decomputeType
del objetoenvironment
. Para obtener más información, consulte Referencia de los SDK y las herramientas de AWS.
Algunos tipos de entorno y computación no están disponibles en todas las regiones:
-
El tipo de procesamiento Linux GPU Small (
LINUX_GPU_CONTAINER
) solo está disponible en las regiones siguientes:-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Tokio)
-
Canadá (centro)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
Europa (Londres)
-
-
El tipo de procesamiento Linux GPU Large (
LINUX_GPU_CONTAINER
) solo está disponible en las regiones siguientes:-
US East (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Seúl)
-
Asia-Pacífico (Singapur)
-
Asia-Pacífico (Sídney)
-
Asia-Pacífico (Tokio)
-
Canadá (centro)
-
China (Pekín)
-
China (Ningxia)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
Europa (Londres)
-
-
El tipo de entorno
ARM_CONTAINER
solo está disponible en las regiones siguientes:-
US East (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Norte de California)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Hong Kong)
-
Asia-Pacífico (Yakarta)
-
Asia-Pacífico (Hyderabad)
-
Asia Pacific (Bombay)
-
Asia-Pacífico (Osaka)
-
Asia-Pacífico (Seúl)
-
Asia-Pacífico (Singapur)
-
Asia-Pacífico (Sídney)
-
Asia-Pacífico (Tokio)
-
Canadá (centro)
-
China (Pekín)
-
China (Ningxia)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
Europa (Londres)
-
Europa (Milán)
-
Europa (París)
-
Europa (España)
-
Europa (Estocolmo)
-
Israel (Tel Aviv)
-
Medio Oriente (Baréin)
-
Medio Oriente (EAU)
-
América del Sur (São Paulo)
-
-
El tipo de computación
BUILD_GENERAL1_2XLARGE
solo está disponible en las regiones siguientes:-
US East (Ohio)
-
Este de EE. UU. (Norte de Virginia)
-
Oeste de EE. UU. (Norte de California)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Hyderabad)
-
Asia-Pacífico (Hong Kong)
-
Asia-Pacífico (Yakarta)
-
Asia-Pacífico (Melbourne)
-
Asia-Pacífico (Bombay)
-
Asia-Pacífico (Seúl)
-
Asia-Pacífico (Singapur)
-
Asia-Pacífico (Sídney)
-
Asia-Pacífico (Tokio)
-
Canadá (centro)
-
China (Pekín)
-
China (Ningxia)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
Europa (Londres)
-
Europa (París)
-
Europa (España)
-
Europa (Estocolmo)
-
Europa (Zúrich)
-
Israel (Tel Aviv)
-
Medio Oriente (Baréin)
-
Medio Oriente (EAU)
-
América del Sur (São Paulo)
-
-
El modo de computación AWS Lambda (
ARM_LAMBDA_CONTAINER
yLINUX_LAMBDA_CONTAINER
) solo está disponible en las regiones siguientes:-
Este de EE. UU. (Norte de Virginia)
-
Este de EE. UU. (Ohio)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Bombay)
-
Asia-Pacífico (Singapur)
-
Asia-Pacífico (Sídney)
-
Asia-Pacífico (Tokio)
-
Europa (Fráncfort)
-
Europa (Irlanda)
-
América del Sur (São Paulo)
-
-
El modo de computación
MAC_ARM
solo está disponible en las regiones siguientes:-
Este de EE. UU. (Norte de Virginia)
-
Este de EE. UU. (Ohio)
-
Oeste de EE. UU. (Oregón)
-
Asia-Pacífico (Sídney)
-
Europa (Fráncfort)
-
Para el tipo de proceso BUILD_GENERAL1_2XLARGE
, se admiten las imágenes de Docker de hasta 100 GB sin comprimir.
nota
Para crear imágenes del entorno de compilación personalizadas, CodeBuild permite el uso de imágenes de Docker de hasta 50 GB sin comprimir en Linux y Windows, independientemente del tipo de computación. Para comprobar el tamaño de la imagen de compilación, use Docker para ejecutar el comando docker images
.REPOSITORY
:TAG
Puede utilizar Amazon EFS para acceder a más espacio en el contenedor de compilación. Para obtener más información, consulte Ejemplo de Amazon Elastic File System para AWS CodeBuild. Si desea manipular el espacio en disco del contenedor durante una compilación, la compilación debe ejecutarse en modo privilegiado.
nota
De forma predeterminada, el daemon de Docker está habilitado para compilaciones sin VPC. Si quiere usar contenedores de Docker para las compilaciones de VPC, consulte la sección sobre privilegios en tiempo de ejecución y capacidades de Linux