构建环境计算模式和类型 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

构建环境计算模式和类型

在中 CodeBuild,您可以指定用于运行构建的 CodeBuild 计算和运行时环境映像。计算是指由管理和维护的计算引擎(CPU、内存和操作系统) CodeBuild。运行时环境映像 是在您选择的计算平台上运行的容器映像,包含您的构建可能需要的额外工具,例如 Amazon CLI。

关于计算模式

CodeBuild 提供以下计算模式:

  • EC2

  • Amazon Lambda

EC2 在您的构建过程中提供了优化的灵活性,并 Amazon Lambda 提供了优化的启动速度。 Amazon Lambda 由于启动延迟较低,因此支持更快的构建。 Amazon Lambda 还会自动缩放,因此构建无需在队列中等待运行。有关更多信息,请参阅在中使用Amazon Lambda计算 Amazon CodeBuild

关于环境类型

Amazon CodeBuild 为构建环境提供以下可用内存、vCPU 和适用于 EC2 计算模式的磁盘空间:

计算类型 环境 computeType 值 环境类型值 内存 vCPU 磁盘空间
小型 ARM BUILD_GENERAL1_SMALL ARM_CONTAINER 4 GB 2 50 GB
大型 ARM BUILD_GENERAL1_LARGE ARM_CONTAINER 16 GB 8 50 GB
小型 Linux¹ BUILD_GENERAL1_SMALL LINUX_CONTAINER 3 GB 2 64 GB
中型 Linux¹ BUILD_GENERAL1_MEDIUM LINUX_CONTAINER 7 GB 4 128 GB
大型 Linux¹ BUILD_GENERAL1_LARGE LINUX_CONTAINER 15 GB 8 128 GB
Linux XLarge BUILD_GENERAL1_XLARGE LINUX_CONTAINER 70GB 36 256GB
Linux 2XLarge BUILD_GENERAL1_2XLARGE LINUX_CONTAINER 145 GB 72 824 GB (SSD)
小型 Linux GPU BUILD_GENERAL1_SMALL LINUX_GPU_CONTAINER 16 GB 4 220 GB
大型 Linux GPU BUILD_GENERAL1_LARGE LINUX_GPU_CONTAINER 255 GB 32 50 GB
中型 Windows BUILD_GENERAL1_MEDIUM WINDOWS_SERVER_2019_CONTAINER 7 GB 4 128 GB
大型 Windows BUILD_GENERAL1_LARGE WINDOWS_SERVER_2019_CONTAINER 15 GB 8 128 GB

¹缓存该映像类型的最新版本。如果您指定更具体的版本,则 CodeBuild 预配置该版本而不是缓存版本。这可能会导致构建时间更长。例如,要受益于缓存,请指定 aws/codebuild/amazonlinux2-x86_64-standard:5.0 而不是更精细的版本,例如 aws/codebuild/amazonlinux2-x86_64-standard:5.0-1.0.0

Amazon CodeBuild 为构建环境提供以下用于 Amazon Lambda 计算模式的可用内存和磁盘空间:

计算类型 环境 computeType 值 环境类型值 内存 磁盘空间
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 10GB 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

使用其他环境类型时,建议您使用缓存的映像来缩短构建时间。

为每个构建环境列出的磁盘空间仅在 CODEBUILD_SRC_DIR 环境变量指定的目录中可用。

选择计算类型:

某些环境和计算类型存在区域可用性限制:

  • 计算类型 Linux GPU 小型 (LINUX_GPU_CONTAINER) 仅在以下区域可用:

    • 美国东部(弗吉尼亚州北部)

    • 美国西部(俄勒冈)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

  • 计算类型 Linux GPU 大型 (LINUX_GPU_CONTAINER) 仅在以下区域可用:

    • 美国东部(俄亥俄)

    • 美国东部(弗吉尼亚州北部)

    • US West(Oregon)

    • 亚太地区(首尔)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 中国(北京)

    • 中国(宁夏)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

  • 环境类型 ARM_CONTAINER 仅在以下区域可用:

    • 美国东部(俄亥俄)

    • 美国东部(弗吉尼亚州北部)

    • 美国西部(北加利福尼亚)

    • 美国西部(俄勒冈)

    • 亚太地区(香港)

    • 亚太地区(雅加达)

    • 亚太地区(海得拉巴)

    • 亚太地区(孟买)

    • 亚太地区(大阪)

    • 亚太地区(首尔)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 中国(北京)

    • 中国(宁夏)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

    • 欧洲地区(米兰)

    • 欧洲地区(巴黎)

    • 欧洲(西班牙)

    • 欧洲地区(斯德哥尔摩)

    • 以色列(特拉维夫)

    • 中东(巴林)

    • 中东(阿联酋)

    • South America(São Paulo)

  • 计算类型 BUILD_GENERAL1_2XLARGE 仅在以下区域可用:

    • 美国东部(俄亥俄)

    • 美国东部(弗吉尼亚州北部)

    • 美国西部(北加利福尼亚)

    • 美国西部(俄勒冈)

    • 亚太地区(海得拉巴)

    • 亚太地区(香港)

    • 亚太地区(雅加达)

    • 亚太地区(墨尔本)

    • 亚太地区(孟买)

    • 亚太地区(首尔)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 中国(北京)

    • 中国(宁夏)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

    • 欧洲地区(巴黎)

    • 欧洲(西班牙)

    • 欧洲地区(斯德哥尔摩)

    • 欧洲(苏黎世)

    • 以色列(特拉维夫)

    • 中东(巴林)

    • 中东(阿联酋)

    • South America(São Paulo)

  • 计算模式 Amazon Lambda (ARM_LAMBDA_CONTAINERLINUX_LAMBDA_CONTAINER)仅在以下区域可用:

    • 美国东部(弗吉尼亚州北部)

    • 美国东部(俄亥俄州)

    • US West(Oregon)

    • 亚太地区(孟买)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • South America(São Paulo)

对于计算类型 BUILD_GENERAL1_2XLARGE,支持高达 100 GB 的未压缩 Docker 映像。

注意

对于自定义构建环境镜像,无论计算类型如何,都 CodeBuild 支持在 Linux 和 Windows 中未压缩的最大 50 GB 的 Docker 镜像。要检查构建映像的大小,请使用 Docker 运行 docker images REPOSITORY:TAG 命令。

您可以使用 Amazon EFS 在构建容器中访问更多空间。有关更多信息,请参阅的亚马逊 Elastic File System 示例 Amazon CodeBuild。如果您希望在构建期间操作容器磁盘空间,则构建必须运行在特权模式下。

注意

默认情况下,非 VPC 版本启用 Docker 守护程序。如果您想使用 Docker 容器进行 VPC 构建,请参阅 Docker Docs 网站上的运行时权限和 Linux 功能并启用特权模式。此外,Windows 不支持特权模式。