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

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

在Amazon Lambda 计算平台上部署

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

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

下图显示了部署新增和更新 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

创建您的应用程序和部署组

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

部署应用程序修订版

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

更新应用程序

您可以更新您的应用程序,然后使用CodeDeploy控制台或调用 create-deploymen t 命令来推送修订版。

部署已停止且失败

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

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

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

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

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

重新部署和部署回滚

CodeDeploy 实现回滚的方式是将以前部署的版本重新部署为新的部署。

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

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

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

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