AWS CodeDeploy
用户指南 (API 版本 2014-10-06)
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

AWS Lambda 计算平台上的部署

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

AWS Lambda 计算平台上的部署组件

下图显示了 AWS Lambda 计算平台上的 CodeDeploy 部署中的组件。

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

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

这些步骤包括:

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

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

  3. 选择部署配置以指定如何将流量从原始 AWS Lambda 函数版本转移到新的 Lambda 函数版本。有关更多信息,请参阅查看部署配置详细信息

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

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

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

上传应用程序修订

将 AppSpec file放入 Amazon S3 中或将其直接输入到控制台或 AWS CLI 中。有关更多信息,请参阅 应用程序规范文件

创建应用程序和部署组

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

部署应用程序修订

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

更新应用程序

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

停止和失败的部署

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

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

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

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

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

重新部署和部署回滚

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

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

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

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

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