在中使用 AWS Lambda 计算 AWS CodeBuild - AWS CodeBuild

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

在中使用 AWS Lambda 计算 AWS CodeBuild

AWS Lambda compute 为您的构建提供优化的启动速度。 AWS Lambda 由于启动延迟较低,因此支持更快的构建。 AWS Lambda 还会自动缩放,因此构建无需在队列中等待运行。但是,有些用例 AWS Lambda 不支持,如果它们对您造成影响,请使用 EC2 计算。有关更多信息,请参阅 AWS Lambda 计算的局限性

AWS Lambda上运行的精心策划的运行时环境 Docker 映像中将包含哪些工具和运行时?

AWS Lambda 支持以下工具: AWS CLI v2、 AWS 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或。

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

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

AWS Lambda 计算的局限性

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

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

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

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

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

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

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