本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中 CodeBuild,您可以指定用于运行构建的 CodeBuild 计算和运行时环境映像。计算是指由管理和维护的计算引擎(CPU、内存和操作系统) CodeBuild。运行时环境映像 是在您选择的计算平台上运行的容器映像,包含您的构建可能需要的额外工具,例如 AWS CLI。
关于计算
CodeBuild 优惠 EC2 和 AWS Lambda 计算模式。 EC2 在构建过程中提供优化的灵活性,并 AWS Lambda 提供优化的启动速度。 AWS Lambda 由于启动延迟较低,因此支持更快的构建。 AWS Lambda 还会自动缩放,因此构建无需在队列中等待运行。有关更多信息,请参阅 在 AWS Lambda 计算基础上运行构建。
在 EC2 计算模式下,您可以使用按需或预留容量队列运行构建。对于按需队列,您可以选择预定义的计算类型,例如BUILD_GENERAL1_SMALL
或。BUILD_GENERAL1_LARGE
有关更多信息,请参阅 关于按需环境类型。对于预留容量队列,您可以选择自己的计算配置,包括 vCPU、内存和磁盘空间。指定配置后, CodeBuild 将选择符合您要求的支持的计算类型。有关更多信息,请参阅 关于预留容量环境类型。
关于预留容量环境类型
AWS CodeBuild 为预留容量队列提供 Linux x86、Arm、GPU、Windows 和 macOS 环境类型。下表显示了按区域排序的可用计算机类型CPUs、内存、v 和磁盘空间:
环境类型 | v CPUs | 内存 | 磁盘空间 | 计算机类型 | 计算实例类型 |
---|---|---|---|---|---|
ARM | 2 | 4 GiB | 64 GB | GENERAL |
reserved.arm.2cpu.4gib |
ARM | 4 | 8 GiB | 128 GB | GENERAL |
reserved.arm.4cpu.8gib |
ARM | 8 | 16 GiB | 128 GB | GENERAL |
reserved.arm.8cpu.16gib |
ARM | 16 | 32 GiB | 256GB | GENERAL |
reserved.arm.16cpu.32gib |
ARM | 32 | 64 GiB | 256GB | GENERAL |
reserved.arm.32cpu.64gib |
ARM | 48 | 96 GiB | 512GB | GENERAL |
reserved.arm.48cpu.96gib |
ARM | 64 | 128 GiB | 824 GB | GENERAL |
reserved.arm.64cpu.128gib |
ARM EC2 | 2 | 4 GiB | 64 GB | GENERAL |
reserved.arm.2cpu.4gib |
ARM EC2 | 4 | 8 GiB | 128 GB | GENERAL |
reserved.arm.4cpu.8gib |
ARM EC2 | 8 | 16 GiB | 128 GB | GENERAL |
reserved.arm.8cpu.16gib |
Linux | 2 | 4 GiB | 64 GB | GENERAL |
reserved.x86-64.2cpu.4gib |
Linux | 4 | 8 GiB | 128 GB | GENERAL |
reserved.x86-64.4cpu.8gib |
Linux | 8 | 16 GiB | 128 GB | GENERAL |
reserved.x86-64.8cpu.16gib |
Linux | 16 | 32 GiB | 256GB | GENERAL |
reserved.x86-64.16cpu.32gib |
Linux | 36 | 72 GiB | 256GB | GENERAL |
reserved.x86-64.36cpu.72gib |
Linux | 48 | 96 GiB | 512GB | GENERAL |
reserved.x86-64.48cpu.96gib |
Linux | 72 | 144 GiB | 824 GB | GENERAL |
reserved.x86-64.72cpu.144gib |
Linux | 96 | 192 GiB | 824 GB | GENERAL |
reserved.x86-64.96cpu.192gib |
Linux | 48 | 96 GiB | 824 GB (SSD) | NVME |
reserved.x86-64.48cpu.96gib.nvme |
Linux | 72 | 144 GiB | 824 GB (SSD) | NVME |
reserved.x86-64.72cpu.144gib.nvme |
Linu EC2 | 2 | 4 GiB | 64 GB | GENERAL |
reserved.x86-64.2cpu.4gib |
Linu EC2 | 4 | 8 GiB | 128 GB | GENERAL |
reserved.x86-64.4cpu.8gib |
Linu EC2 | 8 | 16 GiB | 128 GB | GENERAL |
reserved.x86-64.8cpu.16gib |
Linux G | 4 | 16 GiB | 235 GB(固态硬盘) | NVME |
reserved.gpu.4cpu.16gib.nvme |
Linux G | 8 | 32 GiB | 435 GB (固态硬盘) | NVME |
reserved.gpu.8cpu.32gib.nvme |
Linux G | 16 | 64 GiB | 585 GB (固态硬盘) | NVME |
reserved.gpu.16cpu.64gib.nvme |
Linux G | 32 | 128 GiB | 885 GB (固态硬盘) | NVME |
reserved.gpu.32cpu.128gib.nvme |
Linux G | 48 | 192 GiB | 3785 GB (固态硬盘) | NVME |
reserved.gpu.48cpu.192gib.nvme |
Linux G | 64 | 256 GiB | 1885 GB (固态硬盘) | NVME |
reserved.gpu.64cpu.256gib.nvme |
Linux G | 96 | 384 GiB | 3785 GB (固态硬盘) | NVME |
reserved.gpu.96cpu.384gib.nvme |
macOS | 8 | 24 GiB | 128 GB | GENERAL |
reserved.arm.m2.8cpu.24gib |
macOS | 12 | 32 GiB | 256GB | GENERAL |
reserved.arm.m2.12cpu.32gib |
Windows | 2 | 4 GiB | 64 GB | GENERAL |
reserved.x86-64.2cpu.4gib |
Windows | 4 | 8 GiB | 128 GB | GENERAL |
reserved.x86-64.4cpu.8gib |
Windows | 8 | 16 GiB | 128 GB | GENERAL |
reserved.x86-64.8cpu.16gib |
Windows | 16 | 32 GiB | 256GB | GENERAL |
reserved.x86-64.16cpu.32gib |
Windows | 36 | 72 GiB | 256GB | GENERAL |
reserved.x86-64.36cpu.72gib |
Windows | 48 | 96 GiB | 512GB | GENERAL |
reserved.x86-64.48cpu.96gib |
Windows | 72 | 144 GiB | 824 GB | GENERAL |
reserved.x86-64.72cpu.144gib |
Windows | 96 | 192 GiB | 824 GB | GENERAL |
reserved.x86-64.96cpu.192gib |
窗户 EC2 | 4 | 8 GiB | 128 GB | GENERAL |
reserved.x86-64.4cpu.8gib |
窗户 EC2 | 8 | 16 GiB | 128 GB | GENERAL |
reserved.x86-64.8cpu.16gib |
有关定价标识符的更多信息,请参阅 p https://aws.amazon.com/codebuild/ricing/
选择计算类型:
-
在 CodeBuild 控制台的计算队列配置页面中,从 v CPUs、内存和磁盘中选择一个选项。有关更多信息,请参阅 创建预留容量实例集。
-
对于 AWS CLI,运行
create-fleet
或update-fleet
命令,将的值指定computeType
为ATTRIBUTE_BASED_COMPUTE
。有关更多信息,请参阅创建队列或更新舰队。 -
对于 AWS SDKs,请为目标编程语言调用等效的
CreateFleet
或UpdateFleet
运算,并指定 tocomputeType
的值ATTRIBUTE_BASED_COMPUTE
。有关更多信息,请参阅AWS SDKs 和工具参考。
注意
对于 AWS CLI 和 AWS SDKs,您仍然可以使用诸如之类的computeType
输入来选择计算类型BUILD_GENERAL1_SMALL
,而不是ATTRIBUTE_BASED_COMPUTE
。有关更多信息,请参阅 关于按需环境类型。
关于按需环境类型
AWS CodeBuild 为构建环境提供以下可用内存CPUs、v 和用于 EC2 计算模式的磁盘空间:
计算类型 | 环境 computeType 值 | 环境类型值 | 内存 | v CPUs | 磁盘空间 |
---|---|---|---|---|---|
ARM Small ¹ | BUILD_GENERAL1_SMALL |
|
4 GiB | 2 | 64 GB |
ARM Medium ¹ | BUILD_GENERAL1_MEDIUM |
|
8 GiB | 4 | 128 GB |
ARM Large ¹ | BUILD_GENERAL1_LARGE |
|
16 GiB | 8 | 128 GB |
ARM XLarge ¹ | BUILD_GENERAL1_XLARGE |
ARM_CONTAINER |
64 GiB | 32 | 256GB |
ARM 2 XLarge ¹ | BUILD_GENERAL1_2XLARGE |
ARM_CONTAINER |
96 GiB | 48 | 824 GB |
小型 Linux¹ | BUILD_GENERAL1_SMALL |
|
4 GiB | 2 | 64 GB |
中型 Linux¹ | BUILD_GENERAL1_MEDIUM |
|
8 GiB | 4 | 128 GB |
大型 Linux¹ | BUILD_GENERAL1_LARGE |
|
16 GiB | 8 | 128 GB |
Linux XLarge ¹ | BUILD_GENERAL1_XLARGE |
LINUX_CONTAINER |
72 GiB | 36 | 256GB |
Linux 2 XLarge | BUILD_GENERAL1_2XLARGE |
LINUX_CONTAINER |
144 GiB | 72 | 824 GB (SSD) |
小型 Linux GPU | BUILD_GENERAL1_SMALL |
LINUX_GPU_CONTAINER |
16 GiB | 4 | 235 GB(固态硬盘) |
大型 Linux GPU | BUILD_GENERAL1_LARGE |
LINUX_GPU_CONTAINER |
255 GiB | 32 | 50 GB |
Windows Medium ¹ | BUILD_GENERAL1_MEDIUM |
|
8 GiB | 4 | 128 GB |
Windows Large ¹ | BUILD_GENERAL1_LARGE |
|
16 GiB | 8 | 128 GB |
Windows XLarge ¹ | BUILD_GENERAL1_XLARGE |
|
72 GiB | 36 | 256GB |
Windows 2 XLarge ¹ | BUILD_GENERAL1_2XLARGE |
|
144 GiB | 72 | 824 GB |
¹缓存该映像类型的最新版本。如果您指定更具体的版本,则 CodeBuild 预配置该版本而不是缓存版本。这可能会导致构建时间更长。例如,要受益于缓存,请指定 aws/codebuild/amazonlinux-x86_64-standard:5.0
而不是更精细的版本,例如 aws/codebuild/amazonlinux-x86_64-standard:5.0-1.0.0
。
AWS CodeBuild 为构建环境提供以下用于 AWS Lambda 计算模式的可用内存和磁盘空间:
计算类型 | 环境 computeType 值 | 环境类型值 | 内存 | 磁盘空间 |
---|---|---|---|---|
ARM Lambda 1GB | BUILD_LAMBDA_1GB |
ARM_LAMBDA_CONTAINER |
1 GiB | 10 GB |
ARM Lambda 2GB | BUILD_LAMBDA_2GB |
ARM_LAMBDA_CONTAINER |
2 GiB | 10 GB |
ARM Lambda 4GB | BUILD_LAMBDA_4GB |
ARM_LAMBDA_CONTAINER |
4 GiB | 10 GB |
ARM Lambda 8GB | BUILD_LAMBDA_8GB |
ARM_LAMBDA_CONTAINER |
8 GiB | 10 GB |
ARM Lambda 10GB | BUILD_LAMBDA_10GB |
ARM_LAMBDA_CONTAINER |
10 GiB | 10 GB |
Linux Lambda 1GB | BUILD_LAMBDA_1GB |
LINUX_LAMBDA_CONTAINER |
1 GiB | 10 GB |
Linux Lambda 2GB | BUILD_LAMBDA_2GB |
LINUX_LAMBDA_CONTAINER |
2 GiB | 10 GB |
Linux Lambda 4GB | BUILD_LAMBDA_4GB |
LINUX_LAMBDA_CONTAINER |
4 GiB | 10 GB |
Linux Lambda 8GB | BUILD_LAMBDA_8GB |
LINUX_LAMBDA_CONTAINER |
8 GiB | 10 GB |
Linux Lambda 10GB | BUILD_LAMBDA_10GB |
LINUX_LAMBDA_CONTAINER |
10 GiB | 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 SDKs 和工具参考。
某些环境和计算类型存在区域可用性限制:
-
计算类型 Linux GPU 小型 (
LINUX_GPU_CONTAINER
) 仅在以下区域可用:-
美国东部(弗吉尼亚州北部)
-
美国西部(俄勒冈)
-
亚太地区(东京)
-
加拿大(中部)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(伦敦)
-
-
计算类型 Linux GPU 大型 (
LINUX_GPU_CONTAINER
) 仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(俄勒冈州)
-
亚太地区(首尔)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
中国(北京)
-
中国(宁夏)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(伦敦)
-
-
计算类型
BUILD_GENERAL1_2XLARGE
仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(加利福尼亚北部)
-
美国西部(俄勒冈州)
-
亚太地区(海得拉巴)
-
亚太地区(香港)
-
亚太地区(雅加达)
-
亚太地区(墨尔本)
-
亚太地区(孟买)
-
亚太地区(首尔)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
中国(北京)
-
中国(宁夏)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(伦敦)
-
欧洲地区(巴黎)
-
欧洲地区(西班牙)
-
欧洲地区(斯德哥尔摩)
-
欧洲(苏黎世)
-
以色列(特拉维夫)
-
中东(巴林)
-
中东(阿联酋)
-
南美洲(圣保罗)
-
-
环境类型
ARM_CONTAINER
仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(加利福尼亚北部)
-
美国西部(俄勒冈州)
-
亚太地区(香港)
-
亚太地区(雅加达)
-
亚太地区(海得拉巴)
-
Asia Pacific (Mumbai)
-
亚太地区(大阪)
-
亚太地区(首尔)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
中国(北京)
-
中国(宁夏)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(伦敦)
-
欧洲地区(米兰)
-
欧洲地区(巴黎)
-
欧洲地区(西班牙)
-
欧洲地区(斯德哥尔摩)
-
以色列(特拉维夫)
-
中东(巴林)
-
中东(阿联酋)
-
南美洲(圣保罗)
-
-
环境类型
WINDOWS_SERVER_2022_CONTAINER
仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(俄勒冈州)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
南美洲(圣保罗)
-
-
环境类型
LINUX_EC2
(BUILD_GENERAL1_SMALL
、BUILD_GENERAL1_MEDIUM
、BUILD_GENERAL1_LARGE
) 仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(加利福尼亚北部)
-
美国西部(俄勒冈州)
-
非洲(开普敦)
-
亚太地区(香港)
-
亚太地区(雅加达)
-
亚太地区(墨尔本)
-
欧洲(苏黎世)
-
亚太地区(海得拉巴)
-
Asia Pacific (Mumbai)
-
亚太地区(大阪)
-
亚太地区(首尔)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
中国(北京)
-
中国(宁夏)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(伦敦)
-
欧洲地区(米兰)
-
欧洲地区(巴黎)
-
欧洲地区(西班牙)
-
欧洲地区(斯德哥尔摩)
-
以色列(特拉维夫)
-
中东(巴林)
-
中东(阿联酋)
-
南美洲(圣保罗)
-
AWS GovCloud (美国西部)
-
AWS GovCloud (美国东部)
-
-
环境类型
ARM_EC2
(BUILD_GENERAL1_SMALL
、BUILD_GENERAL1_MEDIUM
、BUILD_GENERAL1_LARGE
) 仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(加利福尼亚北部)
-
美国西部(俄勒冈州)
-
亚太地区(香港)
-
亚太地区(雅加达)
-
欧洲(苏黎世)
-
亚太地区(海得拉巴)
-
Asia Pacific (Mumbai)
-
亚太地区(大阪)
-
亚太地区(首尔)
-
亚太地区(新加坡)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
加拿大(中部)
-
中国(北京)
-
中国(宁夏)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
欧洲地区(伦敦)
-
欧洲地区(米兰)
-
欧洲地区(巴黎)
-
欧洲地区(西班牙)
-
欧洲地区(斯德哥尔摩)
-
以色列(特拉维夫)
-
中东(巴林)
-
南美洲(圣保罗)
-
AWS GovCloud (美国西部)
-
AWS GovCloud (美国东部)
-
-
环境类型
WINDOWS_EC2
(BUILD_GENERAL1_MEDIUM
,BUILD_GENERAL1_LARGE
) 仅在以下区域可用:-
美国东部(俄亥俄州)
-
美国东部(弗吉尼亚州北部)
-
美国西部(俄勒冈州)
-
亚太地区(悉尼)
-
亚太地区(东京)
-
欧洲地区(法兰克福)
-
欧洲地区(爱尔兰)
-
南美洲(圣保罗)
-
-
计算模式 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。如果您希望在构建期间操作容器磁盘空间,则构建必须运行在特权模式下。
注意
默认情况下,为非 VPC 构建启用 Docker 进程守护程序。如果您想使用 Docker 容器进行 VPC 构建,请参阅 Docker 文档网站上的运行时权限和 Linux 功能