在 Amazon Lambda 计算上运行构建 - Amazon CodeBuild
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

在 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" } ] }

另请注意,要使用自定义映像,必须安装 curlwget

哪些区域支持在 CodeBuild 中运行 Amazon Lambda 计算?

在 CodeBuild 中,以下 Amazon Web Services 区域 支持 Amazon Lambda 计算:美国东部(弗吉尼亚州北部)、美国东部(俄亥俄州)、美国西部(俄勒冈州)、亚太地区(孟买)、亚太地区(新加坡)、亚太地区(悉尼)、亚太地区(东京)、欧洲地区(法兰克福)、欧洲地区(爱尔兰)和南美洲(圣保罗)。有关 CodeBuild 可用的 Amazon Web Services 区域 的信息,请参阅按区域划分的 Amazon 服务

Amazon Lambda 计算的局限性

Amazon Lambda 不支持某些用例,如果它们对您造成影响,请使用 EC2 计算。

  • Amazon Lambda 不支持需要 root 权限的工具。对于 yumrpm 之类的工具,请使用 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 访问。