与其他 Amazon 服务集成 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

与其他 Amazon 服务集成

CodeDeploy 已与以下Amazon服务集成:

Amazon CloudWatch

Amazon CloudWatch 是一项监控Amazon云资源和您运行的应用程序的服务Amazon。您可以使用 Amazon CloudWatch 收集和跟踪指标、收集和监控日志文件以及设置警报。 CodeDeploy 支持以下 CloudWatch 工具:

  • CloudWatch 警报,用于监控您的部署,并在您指定的监控指标超过或低于 CloudWatch 警报规则中指定的阈值时将其停止。要使用警报监控,请先在中设置警报 CloudWatch,然后将其添加到应用程序或部署组中,警报激活后部署应停止 CodeDeploy 到该组中。

    了解更多:

  • Amazon Ev CloudWatch en ts 用于检测实例或部署状态的变化并做出反应。 CodeDeploy 然后,根据您创建的规则,当部署或实例进入您在规则中指定的状态时, CloudWatch 事件会调用一个或多个目标操作。

    了解更多:

  • Amazon CloudWatch L ogs 用于监控 CodeDeploy 代理创建的三种类型的日志,而无需一次登录一个实例。

    了解更多:

Amazon EC2 Auto Scaling

CodeDeploy 支持 Amazon EC2 Auto Scaling。此 Amazon 服务可以根据您指定的标准自动启动 Amazon EC2 实例,例如:

  • 超出指定的 CPU 利用率的限制。

  • 磁盘读取或写入数。

  • 在指定时间间隔内的入站或出站网络流量。

您可以随时扩展一组 Amazon EC2 实例,然后使用自动 CodeDeploy 为它们部署应用程序修订。当不再需要这些 Amazon EC2 实例时,Amazon EC2 Auto Scaling 将终止它们。

了解更多:

Amazon Elastic Container Service

您可以使用 CodeDeploy 将 Amazon ECS 容器化应用程序部署为任务集。 CodeDeploy 通过安装应用程序的更新版本作为新的替换任务集来执行蓝/绿部署。 CodeDeploy 将生产流量从原始应用程序任务集重新路由到替换任务集。成功部署后,将会终止原始任务集。有关 Amazon ECS 的更多信息,请参阅 Amazon Elastic Container Service

通过选择金丝雀、线性或 all-at-once配置,您可以管理在部署期间将流量转移到更新的任务集的方式。有关 Amazon ECS 部署的更多信息,请参阅 Amazon ECS 计算平台上的部署

Amazon CloudTrail

CodeDeploy 已与集成Amazon CloudTrail。该服务捕获由您的账户或代表您的Amazon账户发出的 API 调用,并将日志文件传输到您指定的 Amazon S3 存储桶。 CodeDeploy CloudTrail捕获来自 CodeDeploy 控制台、通过 CodeDeploy 命令或直接来自 CodeDeploy API 的 API 调用。Amazon CLI通过使用 CloudTrail 收集的信息,您可以确定:

  • 是向哪个请求提出的 CodeDeploy。

  • 已从中发出请求的源 IP 地址。

  • 谁发出了请求。

  • 发出请求的时间。

了解更多:

Amazon Cloud9

Amazon Cloud9 是一个在线的、基于云的集成开发环境(IDE),可用于编写、运行、调试和部署代码(只需使用已连接 Internet 的计算机中的浏览器)。Amazon Cloud9 包含代码编辑器、调试程序、终端和基本工具(如 Amazon CLI 和 Git)。

  • 您可以使用 Amazon Cloud9 IDE 来运行、调试和生成 GitHub 存储库中的代码。可以使用 IDE 环境窗口和编辑器选项卡查看、更改和保存代码。准备就绪后,可以在Amazon Cloud9终端会话中使用 Git 将代码更改推送到 GitHub 仓库,然后使用Amazon CodeDeploy来部署更新。有关Amazon Cloud9与一起使用的更多信息 GitHub,请参阅GitHub 示例Amazon Cloud9

  • 可使用 Amazon Cloud9 IDE 更新 Amazon Lambda 函数。然后,可以使用 Amazon CodeDeploy 创建一个部署,该部署将流量转移到 Amazon Lambda 函数的新版本。有关更多信息,请参阅在 Amazon Cloud9 集成式开发环境(IDE)中使用 Amazon Lambda 函数

有关 Amazon Cloud9 的更多信息,请参阅什么是 Amazon Cloud9Amazon Cloud9 入门

Amazon CodePipeline

Amazon CodePipeline 是一种持续交付服务,可用于建模、可视化和自动执行在持续交付过程中发布软件所需的步骤。可以使用 Amazon CodePipeline 定义您自己的发布过程,以便服务在每次发生代码更改时构建、测试和部署代码。例如,一个应用程序可以有三个部署组:Beta、Gamma 和 Prod。您可以设置管道,以便每次源代码发生更改时,将更新逐一部署到每个部署组。

您可以配置为使用Amazon CodePipeline CodeDeploy 来部署:

  • 将代码部署到 Amazon EC2 实例和/或本地实例。

  • 无服务器 Amazon Lambda 函数版本。

您可以在创建管道之前的某个阶段或在 “创建管道” 向导中创建要在部署操作中使用的 CodeDeploy 应用程序、部署和部署组。

了解更多:

Amazon 无服务器应用程序模型

Amazon 无服务器应用程序模型(Amazon SAM)是定义无服务器应用程序的模型。它能够扩展 Amazon CloudFormation,以提供简化方式来定义无服务器应用程序所需的 Amazon Lambda 函数、Amazon API Gateway API 和 Amazon DynamoDB 表。如果您已经在使用 Amazon SAM,则可以添加部署首选项,开始使用它 CodeDeploy 来管理 Amazon Lambda 应用程序部署期间的流量转移方式。

有关更多信息,请参阅 Amazon 无服务器应用程序模型

Elastic Load Balancing

CodeDeploy 支持 Elastic Load Balancing,这是一项在多个 Amazon EC2 实例之间分配传入应用程序流量的服务。

对于 CodeDeploy 部署,当实例尚未准备就绪、当前正在部署或不再需要作为环境的一部分时,负载均衡器还会阻止流量路由到实例。

了解更多: