Modos e tipos de computação do ambiente de compilação - AWS CodeBuild

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Modos e tipos de computação do ambiente de compilação

Em CodeBuild, você pode especificar a imagem do ambiente de computação e tempo de execução que CodeBuild usa para executar suas compilações. Computação se refere ao mecanismo de computação (a CPU memória e o sistema operacional) que é gerenciado e mantido pelo CodeBuild. Uma imagem de ambiente de runtime é uma imagem de contêiner executada na plataforma de computação escolhida e inclui ferramentas extras de que sua compilação pode precisar, como a AWS CLI.

Sobre os modos de computação

CodeBuild oferece os seguintes modos de computação:

  • EC2

  • AWS Lambda

EC2oferece flexibilidade otimizada durante sua construção e AWS Lambda oferece velocidades de inicialização otimizadas. AWS Lambda suporta compilações mais rápidas devido a uma menor latência de inicialização. AWS Lambda também é dimensionado automaticamente, para que as compilações não fiquem esperando na fila para serem executadas. Para ter mais informações, consulte Trabalhando com AWS Lambda computação em AWS CodeBuild.

Sobre tipos de ambiente

AWS CodeBuild fornece ambientes de criação com a seguinte memória disponível e espaço em disco para o modo de EC2 computação: vCPUs

Tipo de computação computeType Valor ambiental Valor de tipo do ambiente Memória vCPUs Espaço em disco
ARMPequeno ¹ BUILD_GENERAL1_SMALL ARM_CONTAINER 4 GB 2 64 GB
ARMMédio ¹ BUILD_GENERAL1_MEDIUM ARM_CONTAINER 8 GB 4 128 GB
ARMGrande ¹ BUILD_GENERAL1_LARGE ARM_CONTAINER 16 GB 8 128 GB
ARMXLarge¹ BUILD_GENERAL1_XLARGE ARM_CONTAINER 64 GB 32 256 GB
ARM2 XLarge ¹ 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 2 XLarge BUILD_GENERAL1_2XLARGE LINUX_CONTAINER 145 GB 72 824 GB () SSD
Linux GPU pequeno BUILD_GENERAL1_SMALL LINUX_GPU_CONTAINER 16 GB 4 220 GB
Linux GPU grande BUILD_GENERAL1_LARGE LINUX_GPU_CONTAINER 255 GB 32 50 GB
Windows Medium ¹ BUILD_GENERAL1_MEDIUM WINDOWS_SERVER_2019_CONTAINER 7 GB 4 128 GB
Windows Grande ¹ BUILD_GENERAL1_LARGE WINDOWS_SERVER_2019_CONTAINER 15 GB 8 128 GB

¹ A versão mais recente desse tipo de imagem é armazenada em cache. Se você especificar uma versão mais específica, CodeBuild provisionará essa versão em vez da versão em cache. Isso pode resultar em tempos de compilação mais longos. Por exemplo, para se beneficiar do cache, especifique aws/codebuild/amazonlinux2-x86_64-standard:5.0 em vez de uma versão mais granular, como aws/codebuild/amazonlinux2-x86_64-standard:5.0-1.0.0.

AWS CodeBuild fornece ambientes de criação com a seguinte memória e espaço em disco disponíveis para o modo de AWS Lambda computação:

Tipo de computação computeType Valor ambiental Valor de tipo do ambiente Memória Espaço em disco
ARMLambda de 1 GB BUILD_LAMBDA_1GB ARM_LAMBDA_CONTAINER 1 GB 10 GB
ARMLambda de 2 GB BUILD_LAMBDA_2GB ARM_LAMBDA_CONTAINER 2 GB 10 GB
ARMLambda de 4 GB BUILD_LAMBDA_4GB ARM_LAMBDA_CONTAINER 4 GB 10 GB
ARMLambda de 8 GB BUILD_LAMBDA_8GB ARM_LAMBDA_CONTAINER 8 GB 10 GB
ARMLambda de 10 GB BUILD_LAMBDA_10GB ARM_LAMBDA_CONTAINER 10 GB 10 GB
Linux Lambda de 1 GB BUILD_LAMBDA_1GB LINUX_LAMBDA_CONTAINER 1 GB 10 GB
Linux Lambda de 2 GB BUILD_LAMBDA_2GB LINUX_LAMBDA_CONTAINER 2 GB 10 GB
Linux Lambda de 4 GB BUILD_LAMBDA_4GB LINUX_LAMBDA_CONTAINER 4 GB 10 GB
Linux Lambda de 8 GB BUILD_LAMBDA_8GB LINUX_LAMBDA_CONTAINER 8 GB 10 GB
Linux Lambda de 10 GB BUILD_LAMBDA_10GB LINUX_LAMBDA_CONTAINER 10 GB 10 GB

Ao usar outros tipos de ambiente, é recomendável usar uma imagem em cache para reduzir os tempos de compilação.

O espaço em disco listado para cada ambiente de compilação está disponível somente no diretório especificado pela variável de ambiente CODEBUILD_SRC_DIR.

Para escolher um tipo de computação:

Alguns tipos de ambiente e computação têm limitações de disponibilidade de região:

  • O tipo de computação Linux GPU Small (LINUX_GPU_CONTAINER) só está disponível nas seguintes regiões:

    • Leste dos EUA (Norte da Virgínia)

    • Oeste dos EUA (Oregon)

    • Ásia-Pacífico (Tóquio)

    • Canadá (Central)

    • Europa (Frankfurt)

    • Europa (Irlanda)

    • Europa (Londres)

  • O tipo de computação Linux GPU Large (LINUX_GPU_CONTAINER) só está disponível nas seguintes regiões:

    • Leste dos EUA (Ohio)

    • Leste dos EUA (N. da Virgínia)

    • Oeste dos EUA (Oregon)

    • Ásia-Pacífico (Seul)

    • Ásia-Pacífico (Singapura)

    • Ásia-Pacífico (Sydney)

    • Ásia-Pacífico (Tóquio)

    • Canadá (Central)

    • China (Pequim)

    • China (Ningxia)

    • Europa (Frankfurt)

    • Europa (Irlanda)

    • Europa (Londres)

  • O modo de ambiente ARM_CONTAINER só está disponível nas seguintes regiões:

    • Leste dos EUA (Ohio)

    • Leste dos EUA (N. da Virgínia)

    • Oeste dos EUA (N. da Califórnia)

    • Oeste dos EUA (Oregon)

    • Ásia-Pacífico (Hong Kong)

    • Ásia-Pacífico (Jacarta)

    • Ásia-Pacífico (Hyderabad)

    • Ásia-Pacífico (Mumbai)

    • Ásia-Pacífico (Osaka)

    • Ásia-Pacífico (Seul)

    • Ásia-Pacífico (Singapura)

    • Ásia-Pacífico (Sydney)

    • Ásia-Pacífico (Tóquio)

    • Canadá (Central)

    • China (Pequim)

    • China (Ningxia)

    • Europa (Frankfurt)

    • Europa (Irlanda)

    • Europa (Londres)

    • Europa (Milão)

    • Europe (Paris)

    • Europa (Espanha)

    • Europa (Estocolmo)

    • Israel (Tel Aviv)

    • Oriente Médio (Barém)

    • Oriente Médio (UAE)

    • América do Sul (São Paulo)

  • O modo de computação BUILD_GENERAL1_2XLARGE só está disponível nas seguintes regiões:

    • Leste dos EUA (Ohio)

    • Leste dos EUA (N. da Virgínia)

    • Oeste dos EUA (N. da Califórnia)

    • Oeste dos EUA (Oregon)

    • Ásia-Pacífico (Hyderabad)

    • Ásia-Pacífico (Hong Kong)

    • Ásia-Pacífico (Jacarta)

    • Ásia-Pacífico (Melbourne)

    • Ásia-Pacífico (Mumbai)

    • Ásia-Pacífico (Seul)

    • Ásia-Pacífico (Singapura)

    • Ásia-Pacífico (Sydney)

    • Ásia-Pacífico (Tóquio)

    • Canadá (Central)

    • China (Pequim)

    • China (Ningxia)

    • Europa (Frankfurt)

    • Europa (Irlanda)

    • Europa (Londres)

    • Europa (Paris)

    • Europa (Espanha)

    • Europa (Estocolmo)

    • Europa (Zurique)

    • Israel (Tel Aviv)

    • Oriente Médio (Barém)

    • Oriente Médio (UAE)

    • América do Sul (São Paulo)

  • O modo de computação AWS Lambda (ARM_LAMBDA_CONTAINEReLINUX_LAMBDA_CONTAINER) só está disponível nas seguintes regiões:

    • Leste dos EUA (Norte da Virgínia)

    • Leste dos EUA (Ohio)

    • Oeste dos EUA (Oregon)

    • Ásia-Pacífico (Mumbai)

    • Ásia-Pacífico (Singapura)

    • Ásia-Pacífico (Sydney)

    • Ásia-Pacífico (Tóquio)

    • Europa (Frankfurt)

    • Europa (Irlanda)

    • América do Sul (São Paulo)

Para o tipo de computação BUILD_GENERAL1_2XLARGE, há suporte para imagens de Docker de até 100 GB descompactadas.

nota

Para imagens de ambiente de compilação personalizadas, CodeBuild oferece suporte a imagens do Docker de até 50 GB descompactadas no Linux e no Windows, independentemente do tipo de computação. Para verificar o tamanho da imagem da compilação, use o Docker para executar o comando docker images REPOSITORY:TAG.

Você pode usar EFS a Amazon para acessar mais espaço em seu contêiner de construção. Para ter mais informações, consulte Exemplo do Amazon Elastic File System para AWS CodeBuild. Se você deseja manipular espaço em disco do contêiner durante uma compilação, a compilação deverá ser executada no modo privilegiado.

nota

Por padrão, o daemon do Docker está habilitado para não-compilações. VPC Se você quiser usar contêineres do Docker para VPC compilações, consulte Runtime Privilege e Linux Capabilities no site do Docker Docs e ative o modo privilegiado. Além disso, o Windows não é compatível com o modo privilegiado.