教程:使用 CodePipeline 部署 Lambda 函数 - AWS CodePipeline

教程:使用 CodePipeline 部署 Lambda 函数

本教程可帮助您在 CodePipeline 中创建部署操作,将您的代码部署到您在 Lambda 中配置的函数。您将创建示例 Lambda 函数,您将在其中创建别名和版本,将压缩后的 Lambda 函数添加到源位置,然后在管道中运行 Lambda 操作。

注意

作为在控制台中创建管道的一部分,CodePipeline 将使用 S3 构件存储桶来存放构件。(这与用于 S3 源操作的存储桶不同。) 如果 S3 构件存储桶所在的账户与您的管道账户不同,请确保 S3 构件存储桶归 AWS 账户所有,并且安全可靠。

注意

Lambda 部署操作仅适用于 V2 类型管道。

先决条件

您必须先部署一些资源,然后才能使用本教程创建您的 CD 管道。以下是您在开始操作之前需要的资源:

注意

所有这些资源均应在同一 AWS 区域内创建。

  • 源控制存储库(例如 GitHub)或源 S3 存储桶(本教程使用 S3),您将在其中存储为 Lambda 函数创建的 .zip 文件。

  • 您必须使用现有的 CodePipeline 服务角色,该角色已更新执行此操作的权限。要更新您的服务角色,请参阅Lambda 部署操作的服务角色策略权限

在满足这些先决条件后,您可以继续完成本教程并创建您的 CD 管道。

步骤 1:创建示例 Lambda 函数

在此步骤中,您将创建要部署到的 Lambda 函数。

创建 Lambda 函数
  1. 访问 Lambda 控制台并按照以下教程中的步骤创建示例 Lambda 函数:链接。

  2. 从顶部导航栏中选择创建,然后从页面顶部选择从头开始

  3. 名称中,输入 MyLambdaFunction

  4. 发布新版本。这将是别名将指向的版本。

    1. 选择您的函数。

    2. 选择操作下拉菜单。

    3. 选择 새 버전 발행

    4. (可选)在描述中键入描述。

    5. 选择 发布

  5. 为您的函数创建别名,例如 aliasV1

  6. 确保别名指向您刚刚创建的版本(例如 1)。

    注意

    如果您选择 $LATEST,则无法使用流量转移功能,因为 Lambda 不支持指向多个版本的别名使用 $LATEST。

步骤 2:将函数文件上传到存储库。

下载函数并将其另存为 zip 文件。使用以下步骤将压缩文件上传到 S3 存储桶。

.zip 文件添加至您的源存储库
  1. 打开您的 S3 存储桶。

  2. 选择上传

  3. 将包含您的 sample_lambda_source.zip 文件的 zip 文件上传到您的源存储桶。

    记下路径。

    object key

步骤 3:创建管道

使用 CodePipeline 向导创建您的管道阶段,并连接源存储库。

创建管道
  1. https://console.aws.amazon.com/codepipeline/ 打开 CodePipeline 控制台。

  2. 欢迎页面、入门页面或管道页面上,选择创建管道

  3. 步骤 1:选择创建选项页面上的创建选项下,选择构建自定义管道选项。选择下一步

  4. 步骤 2:选择管道设置管道名称中,输入 MyPipeline

  5. CodePipeline 提供 V1 和 V2 类型的管道,它们在特性和价格上有所不同。在控制台中,您只能选择 V2 类型。有关更多信息,请参阅管道类型。有关 CodePipeline 的定价信息,请参阅定价

  6. 服务角色中,选择使用现有服务角色,然后选择已更新该操作所需权限的 CodePipeline 服务角色。要为此操作配置您的 CodePipeline 服务角色,请参阅Lambda 部署操作的服务角色策略权限

  7. 高级设置中的各项设置保留为默认值,然后选择下一步

  8. 步骤 3:添加源阶段页面上,添加源阶段:

    1. 源提供商中,选择 Amazon S3

    2. 对象密钥中,添加.zip 文件的名称,包括文件扩展名,例如sample_lambda_source.zip

    选择下一步

  9. 步骤 4:添加构建阶段页面上,选择跳过

  10. 步骤 5:添加测试阶段页面上,选择跳过

  11. 步骤 6:添加部署阶段页面上,选择 Lambda

    向管道添加 Lambda 部署操作。
    1. 添加您的函数名称和别名。

    2. 选择您的部署策略。

    3. 选择下一步

  12. Step 7: Review 页面上,审查您的管道配置,然后选择 Create pipeline 以创建管道。

    控制台示意图,显示了成功运行的管道,其中 Lambda 部署操作已添加到您的管道中。

步骤 4:测试您的管道

您的管道应具有运行端到端本机 AWS 持续部署所需的一切。现在,通过将代码更改推送至您的源存储库来测试管道的功能。

测试您的管道
  1. 对您的已配置源存储库进行代码更改,然后提交并推送更改。

  2. https://console.aws.amazon.com/codepipeline/ 打开 CodePipeline 控制台。

  3. 从列表中选择您的管道。

  4. 监视管道经历不同阶段的进度。您的管道应已完成,您的操作将部署到 Lambda 函数。

了解更多

Lambda 部署操作允许使用两种部署方法。一种方法是单独进行流量转移,不使用源操作的输入构件。另一种方法是使用源操作中的输入构件更新函数代码,然后根据更新的代码发布新版本。对于第二种方法,如果提供了别名,CodePipeline 也将进行流量转移。此 Lambda 部署操作教程演示了使用源构件更新函数。

要了解有关该操作的更多信息,请参阅 AWS Lambda 部署操作参考中的操作参考页面。