在 Amazon Lambda 计算上运行构建
Amazon Lambda 计算可以提高构建的启动速度。由于 Amazon Lambda 启动延迟较低,因此支持更快的构建。Amazon Lambda 还可以自动扩展,因此构建无需在队列中等待运行。但是,Amazon Lambda 不支持某些用例,如果它们对您造成影响,请使用 EC2 计算。有关更多信息,请参阅 Amazon Lambda 计算的局限性。
主题
Amazon Lambda 上运行的精心策划的运行时环境 Docker 映像中将包含哪些工具和运行时?
Amazon Lambda 支持以下工具:Amazon CLI v2、Amazon SAM CLI、git、go、Java、Node.js、Python、pip、Ruby 和 .NET。
如果精选映像未包括我需要的工具,该怎么办?
如果精选映像不包括您需要的工具,则可以提供包括所需工具的自定义环境 Docker 映像。
请注意,您需要以下 Amazon ECR 权限才能使用 Lambda 计算的自定义映像:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ecr:BatchCheckLayerAvailability", "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage" ], "Resource": "arn:aws:ecr:
image-region
:image-account-id
:repository/image-repo
" } ] }
另请注意,要使用自定义映像,必须安装 curl
或 wget
。
哪些区域支持在 CodeBuild 中运行 Amazon Lambda 计算?
在 CodeBuild 中,以下 Amazon Web Services 区域 支持 Amazon Lambda 计算:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和南美洲(圣保罗)。有关 CodeBuild 可用的 Amazon Web Services 区域 的信息,请参阅按区域划分的 Amazon 服务
Amazon Lambda 计算的局限性
Amazon Lambda 不支持某些用例,如果它们对您造成影响,请使用 EC2 计算。
-
Amazon Lambda 不支持需要 root 权限的工具。对于
yum
或rpm
之类的工具,请使用 EC2 计算类型或其他不需要 root 权限的工具。 -
Amazon Lambda 不支持 Docker 构建或运行。
-
Amazon Lambda 不支持写入到
/tmp
外部的文件。包含的包管理器被配置为默认使用/tmp
目录来下载和引用包。 -
Amazon Lambda 不支持环境类型
LINUX_GPU_CONTAINER
,在 Windows Server Core 2019 上不受支持。 -
Amazon Lambda 不支持缓存、批量构建、自定义构建超时、队列超时、构建徽章、特权模式、自定义运行时环境或超过 15 分钟的运行时。
-
Amazon Lambda 不支持 VPC 连接、固定的 CodeBuild 源 IP 地址范围、EFS、安装证书或使用会话管理器进行 SSH 访问。