本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
教程:使用 Lambda 函数部署 CodePipeline
本教程可帮助您创建部署操作, CodePipeline 该操作可将您的代码部署到您在 Lambda 中配置的函数中。您将创建一个示例 Lambda 函数,您将在其中创建别名和版本,将压缩后的 Lambda 函数添加到您的源位置,然后在管道中运行 Lambda 操作。
注意
作为在控制台中创建管道的一部分,S3 工件存储桶将 CodePipeline 用于项目。(这与用于 S3 源操作的存储桶不同。) 如果 S3 工件存储桶与您的管道账户位于不同的账户中,请确保 S3 工件存储桶归其所有 Amazon Web Services 账户 ,该存储桶是安全且可靠的。
注意
Lambda
部署操作仅适用于 V2 类型的管道。
先决条件
您必须先部署一些资源,然后才能使用本教程创建您的 CD 管道。以下是您在开始操作之前需要的资源:
注意
所有这些资源都应在同一个 Amazon 区域内创建。
-
源代码控制存储库(例如 GitHub)或源 S3 存储桶(本教程使用 S3),您将在其中存储为 Lambda 函数创建的
.zip
文件。 -
您必须使用已更新为具有此操作权限的现有 CodePipeline 服务角色。要更新您的服务角色,请参阅Lambda 部署操作的服务角色策略权限。
在满足这些先决条件后,您可以继续完成本教程并创建您的 CD 管道。
步骤 1:创建您的示例 Lambda 函数
在此步骤中,您将创建要部署的 Lambda 函数。
创建 Lambda 函数
-
访问 Lambda 控制台并按照以下教程中的步骤创建示例 Lambda 函数:链接。
-
从顶部导航栏中选择 “创建”,然后从页面顶部选择 “从头开始”。
-
在名称中,输入
MyLambdaFunction
。 -
发布新版本。这将是别名将指向的版本。
-
选择您的功能。
-
选择 “操作” 下拉列表。
-
选择 새 버전 발행。
-
(可选)添加到描述中的描述中。
-
选择 发布。
-
-
为您的函数创建别名,例如
aliasV1
。 -
确保别名指向您刚刚创建的版本(例如 1)。
注意
如果您选择 $LATEST,则无法使用流量转移功能,因为 Lambda 不支持指向多个版本的别名使用 $LATEST。
第 2 步:将函数文件上传到您的存储库
下载该函数并将其另存为 zip 文件。使用以下步骤将压缩文件上传到您的 S3 存储桶。
将 .zip
文件添加至您的源存储库
-
打开您的 S3 存储桶。
-
选择上传。
-
将包含您的文件的 zip
sample_lambda_source.zip
文件上传到您的源存储桶。记下路径。
object key
第 3 步:创建您的管道
使用向 CodePipeline 导创建工作流阶段并连接源存储库。
创建管道
打开 CodePipeline 控制台,网址为https://console.aws.amazon.com/codepipeline/
。 -
在欢迎页面、入门页面或管道页面上,选择创建管道。
-
在步骤 1:选择创建选项页面上的创建选项下,选择构建自定义管道选项。选择下一步。
-
在步骤 2:选择管道设置的管道名称中,输入
MyPipeline
。 -
CodePipeline 提供 V1 和 V2 类型的管道,它们的特性和价格各不相同。在控制台中,您只能选择 V2 类型。有关更多信息,请参阅管道类型。有关定价的信息 CodePipeline,请参阅定价
。 -
在服务角色中,选择使用现有服务角色,然后选择已更新为具有此操作所需权限的 CodePipeline 服务角色。要为此操作配置您的 CodePipeline服务角色,请参阅Lambda 部署操作的服务角色策略权限。
-
将高级设置中的各项设置保留为默认值,然后选择下一步。
-
在步骤 3:添加源阶段页面上,添加源阶段:
-
在源提供商中,选择 Amazon S3。
-
在 Object key 中,添加.zip 文件的名称,包括文件扩展名,例如
sample_lambda_source.zip
。
选择下一步。
-
-
在 “步骤 4:添加构建阶段” 页面上,选择 “跳过”。
-
在 “步骤 5:添加测试阶段” 页面上,选择 “跳过”。
-
在步骤 6:添加部署阶段页面上,选择 Lambda。
-
添加您的函数名称和别名。
-
选择您的部署策略。
-
选择下一步。
-
-
在 “步骤 7:审阅” 页面上,查看您的工作流配置,然后选择创建管道来创建管道。
步骤 4:测试您的管道
您的管道应该具备运行 end-to-end原生 Amazon 持续部署所需的一切。现在,通过将代码更改推送至您的源存储库来测试管道的功能。
测试您的管道
-
对您的已配置源存储库进行代码更改,然后提交并推送更改。
打开 CodePipeline 控制台,网址为https://console.aws.amazon.com/codepipeline/
。 -
从列表中选择您的管道。
-
监视管道经历不同阶段的进度。您的管道应已完成,您的操作将部署到您的 Lambda 函数。
了解更多
Lambda 部署操作允许使用两种部署方法。一种方法是单独进行流量转移,而不会产生源操作的输入产物。另一种方法是使用源操作中的输入构件更新函数代码,然后根据更新的代码发布新版本。对于第二种方法,如果提供了别名,也 CodePipeline 将进行流量切换。此 Lambda 部署操作教程演示了使用源项目更新您的函数。
要了解有关该操作的更多信息,请参阅操作参考页面,网址为Amazon Lambda 部署操作参考。