本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
构建环境计算模式和类型
在中 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
环境变量指定的目录中可用。
选择计算类型:
-
在 CodeBuild 控制台的 “创建构建项目” 向导或 “编辑构建项目” 页面中,在 “环境” 中展开 “其他配置”,然后从 “计算类型” 中选择一个选项。有关更多信息,请参阅创建构建项目(控制台) 或更改构建项目的设置(控制台)。
-
对于 AWS CLI,运行
create-project
或update-project
命令,指定environment
对象的computeType
值。有关更多信息,请参阅创建构建项目 (AWS CLI) 或更改构建项目的设置 (AWS CLI)。 -
对于 AWS SDKs,为目标编程语言调用等效的
CreateProject
或UpdateProject
运算,指定environment
对象的等效computeType
值。有关更多信息,请参阅 AWS 开发工具包和工具参考。
某些环境和计算类型存在区域可用性限制:
-
计算类型 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_CONTAINER
和LINUX_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 功能