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

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

Amazon Lambda 计算平台上的部署

本主题提供有关使用 Amazon Lambda 计算平台的 CodeDeploy 部署的组件和工作流程的信息。

Amazon Lambda 计算平台上的部署工作流

下图显示了部署新增和更新 Amazon Lambda 函数的主要步骤。

如何 CodeDeploy 部署新的或更新的 Amazon Lambda 函数。

这些步骤包括:

  1. 创建应用程序并为其指定唯一标识要部署的应用程序修订的名称。要部署 Lambda 函数,请在创建应用程序时 Amazon 选择 Lambda 计算平台。 CodeDeploy 在部署期间使用此名称来确保它引用了正确的部署组件,例如部署组、部署配置和应用程序修订。有关更多信息,请参阅 使用创建应用程序 CodeDeploy

  2. 通过指定部署组的名称设置部署组。

  3. 选择部署配置以指定流量如何从原始 Amazon Lambda 函数版本转移到新 Lambda 函数版本。有关更多信息,请参阅 View Deployment Configuration Details

  4. 应用程序规范文件(AppSpec 文件)上传到 Amazon S3。该 AppSpec 文件指定了 Lambda 函数版本和用于验证部署的 Lambda 函数。如果您不想创建 AppSpec 文件,则可以使用 YAML 或 JSON 直接在控制台中指定 Lambda 函数版本和 Lambda 部署验证函数。有关更多信息,请参阅 正在处理的应用程序修订版 CodeDeploy

  5. 将您的应用程序修订部署到部署组。 Amazon CodeDeploy 将部署您指定的 Lambda 函数修订版。使用您在创建应用程序时选择的部署 AppSpec 文件,流量将转移到您的 Lambda 函数修订版。有关更多信息,请参阅 使用创建部署 CodeDeploy

  6. 检查部署结果。有关更多信息,请参阅 监控中的部署 CodeDeploy

上传应用程序修订

将 AppSpec 文件放入 Amazon S3 或将其直接输入控制台或 Amazon CLI。有关更多信息,请参阅 Application Specification Files

创建应用程序和部署组

Amazon Lambda 计算平台上的 CodeDeploy 部署组可识别一个或多个 AppSpec 文件的集合。每个 AppSpec 文件可以部署一个 Lambda 函数版本。部署组还定义一些用于未来部署的配置选项,例如警报和回滚配置。

部署应用程序修订

现在,您可以将 AppSpec 文件中指定的函数修订版部署到部署组了。您可以使用 CodeDeploy 控制台或创建部署命令。可以指定一些参数(包括修订、部署组和部署配置)来控制部署。

更新 应用程序

您可以对应用程序进行更新,然后使用 CodeDeploy 控制台或调用 create- deployment 命令来推送修订。

停止和失败的部署

您可以使用 CodeDeploy 控制台或停止部署命令来停止部署。当您尝试停止部署时,将发生下面三种情况之一:

  • 部署将停止,并且操作将返回成功状态。在这种情况下,没有更多的部署生命周期事件将在已停止部署的部署组上运行。

  • 部署将不会立即停止,并且操作将返回挂起状态。在这种情况下,一些部署生命周期事件可能仍在部署组上运行。在挂起的操作完成后,停止部署的后续调用将返回成功状态。

  • 部署无法停止,并且操作将返回错误。有关更多信息,请参阅 Amazon CodeDeploy API 参考中的ErrorInformation常见错误

与停止的部署一样,失败的部署可能导致某些部署生命周期事件已在运行。要找出部署失败的原因,您可以使用 CodeDeploy控制台或分析失败部署的日志文件数据。有关更多信息,请参阅 应用程序修订和日志文件清理查看 CodeDeploy EC2/本地部署的日志数据

重新部署和部署回滚

CodeDeploy 通过将先前部署的修订版作为新部署重新部署来实现回滚。

您可以对部署组进行配置,使之在满足特定条件(例如部署失败或达到警报监控阈值)时自动回滚部署。您还可以在单个部署中覆盖为部署组指定的回滚设置。

另外,也可以选择通过手动重新部署以前部署的版本回滚失败的部署。

在所有情况下,新的或回滚的部署都分配有自己的部署 ID。您可以在 CodeDeploy 控制台中查看的部署列表显示了哪些部署是自动部署的结果。

有关更多信息,请参阅 使用重新部署和回滚部署 CodeDeploy