构建环境计算模式和类型 - AWS CodeBuild

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

构建环境计算模式和类型

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

关于计算模式

CodeBuild 提供以下计算模式:

  • EC2

  • AWS Lambda

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

关于环境类型

AWS CodeBuild 为构建环境提供以下可用内存vCPUs、以及用于EC2计算模式的磁盘空间:

计算类型 环境 computeType 价值 环境类型值 内存 vCPUs 磁盘空间
ARM小 ¹ BUILD_GENERAL1_SMALL ARM_CONTAINER 4 GB 2 64 GB
ARM中等 ¹ BUILD_GENERAL1_MEDIUM ARM_CONTAINER 8 GB 4 128 GB
ARM大号 ¹ BUILD_GENERAL1_LARGE ARM_CONTAINER 16 GB 8 128 GB
ARMXLarge¹ BUILD_GENERAL1_XLARGE ARM_CONTAINER 64 GB 32 256GB
ARM2 XLarge ¹ BUILD_GENERAL1_2XLARGE ARM_CONTAINER 96 GB 48 824 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 2 XLarge 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
macOS 中型 BUILD_GENERAL1_MEDIUM MAC_ARM 24 GB 8 128 GB
macOS 大型版 BUILD_GENERAL1_LARGE MAC_ARM 32 GB 12 256GB
Windows 中型 ¹ 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

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

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

计算类型 环境 computeType 价值 环境类型值 内存 磁盘空间
ARMLambda 1GB BUILD_LAMBDA_1GB ARM_LAMBDA_CONTAINER 1 GB 10 GB
ARMLambda 2GB BUILD_LAMBDA_2GB ARM_LAMBDA_CONTAINER 2 GB 10 GB
ARMLambda 4GB BUILD_LAMBDA_4GB ARM_LAMBDA_CONTAINER 4 GB 10 GB
ARMLambda 8GB BUILD_LAMBDA_8GB ARM_LAMBDA_CONTAINER 8 GB 10 GB
ARMLambda 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 Smal GPU l (LINUX_GPU_CONTAINER) 仅在以下区域可用:

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

    • 美国西部(俄勒冈)

    • Asia Pacific (Tokyo)

    • 加拿大(中部)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

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

    • 美国东部(俄亥俄)

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

    • 美国西部(俄勒冈州)

    • 亚太地区(首尔)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 中国(北京)

    • 中国(宁夏)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

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

    • 美国东部(俄亥俄)

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

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

    • 美国西部(俄勒冈)

    • 亚太地区(香港)

    • 亚太地区(雅加达)

    • 亚太地区(海得拉巴)

    • 亚太地区(孟买)

    • 亚太地区(大阪)

    • 亚太地区(首尔)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 中国(北京)

    • 中国(宁夏)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

    • 欧洲地区(米兰)

    • 欧洲地区(巴黎)

    • 欧洲(西班牙)

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

    • 以色列(特拉维夫)

    • 中东(巴林)

    • 中东 (UAE)

    • 南美洲(圣保罗)

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

    • 美国东部(俄亥俄)

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

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

    • 美国西部(俄勒冈)

    • 亚太地区(海得拉巴)

    • 亚太地区(香港)

    • 亚太地区(雅加达)

    • 亚太地区(墨尔本)

    • 亚太地区(孟买)

    • 亚太地区(首尔)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 加拿大(中部)

    • 中国(北京)

    • 中国(宁夏)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 欧洲地区(伦敦)

    • Europe (Paris)

    • 欧洲(西班牙)

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

    • 欧洲(苏黎世)

    • 以色列(特拉维夫)

    • 中东(巴林)

    • 中东 (UAE)

    • 南美洲(圣保罗)

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

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

    • 美国东部(俄亥俄州)

    • 美国西部(俄勒冈州)

    • 亚太地区(孟买)

    • 亚太地区(新加坡)

    • 亚太地区(悉尼)

    • 亚太地区(东京)

    • 欧洲地区(法兰克福)

    • 欧洲地区(爱尔兰)

    • 南美洲(圣保罗)

  • 计算模式MAC_ARM仅在以下区域可用:

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

    • 美国东部(俄亥俄州)

    • 美国西部(俄勒冈州)

    • 亚太地区(悉尼)

    • 欧洲地区(法兰克福)

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

注意

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

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

注意

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