AWS Lambda 计算平台上的部署 - AWS CodeDeploy

AWS Lambda 计算平台上的部署

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

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

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

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

这些步骤包括:

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

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

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

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

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

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

上传应用程序修订

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

创建应用程序和部署组

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

部署应用程序修订

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

更新应用程序

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

停止和失败的部署

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

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

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

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

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

重新部署和部署回滚

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

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

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

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

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