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

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

在中使用 Amazon Lambda 计算 Amazon CodeBuild

Amazon Lambda compute 为您的构建提供优化的启动速度。 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" } ] }

另请注意,要使用自定义映像,wget必须安装curl或。

哪些区域支持 Amazon Lambda 计算 CodeBuild?

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

Amazon Lambda 计算的局限性

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

  • Amazon Lambda 不支持需要 root 权限的工具。对于 yumrpm 之类的工具,请使用 EC2 计算类型或其他不需要 root 权限的工具。

  • Amazon Lambda 不支持 Docker 的构建或运行。您可以使用不需要 root 权限的替代方案,例如 Podman。

  • Amazon Lambda 不支持写入外部文件/tmp。包含的包管理器被配置为默认使用 /tmp 目录来下载和引用包。

  • Amazon Lambda 不支持该环境类型LINUX_GPU_CONTAINER,Windows Server Core 2019 也不支持。

  • Amazon Lambda 不支持缓存、批量构建、自定义构建超时、队列超时、构建徽章、特权模式、自定义运行时环境或长度超过 15 分钟的运行时间。

  • Amazon Lambda 不支持 VPC 连接、固定范围的 CodeBuild 源 IP 地址、EFS、语义版本控制、安装证书或使用会话管理器进行 SSH 访问。