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

与其他 AWS 服务集成

AWS CodeDeploy 与下列 AWS 服务集成:

Amazon CloudWatch

Amazon CloudWatch 是面向 AWS 云资源以及在 AWS 上运行的应用程序的监控服务。Amazon CloudWatch 可用于收集和跟踪指标,收集和监控日志文件,以及设置警报。AWS CodeDeploy 支持以下 CloudWatch 工具:

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

    了解更多:

  • Amazon CloudWatch Events:用于在您的 AWS CodeDeploy 操作中检测实例或部署状态的更改并采取相应的操作。然后 CloudWatch Events 将在部署或实例进入您在规则中指定的状态时,根据您创建的规则调用一个或多个目标操作。

    了解更多:

  • Amazon CloudWatch Logs:用于监控由 AWS CodeDeploy 代理创建的三种类型的日志,而不必逐一登录到实例。

    了解更多:

Auto Scaling

AWS CodeDeploy 支持 Amazon EC2 Auto Scaling,后者是一种 AWS Web 服务,可根据您指定的条件(例如,在指定时间间隔内超过的 CPU 利用率、磁盘读写数或者入站或出站网络流量的限制)自动启动 Amazon EC2 实例。这样,您便可根据需要扩展一组 Amazon EC2 实例,然后使用 AWS CodeDeploy 自动将应用程序修订部署到这些额外的 Amazon EC2 实例。当不再需要这些 Amazon EC2 实例时,Auto Scaling 会终止它们。

了解更多:

AWS CloudTrail

AWS CodeDeploy 与 AWS CloudTrail 集成在一起,后者是一种服务,可在 AWS 账户中捕获由 AWS CodeDeploy 自身或代表其发出的 API 调用,并将日志文件传输到您指定的 Amazon S3 存储桶。CloudTrail 从 AWS CodeDeploy 控制台、通过 AWS CLI 从 AWS CodeDeploy 命令或直接从 AWS CodeDeploy API 捕获 API 调用。通过 CloudTrail 收集的信息,您可以确定向 AWS CodeDeploy 发出了什么请求、发出请求的源 IP 地址、何人发出的请求以及发出请求的时间等。

了解更多:

AWS Cloud9

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

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

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

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

AWS CodePipeline

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

您可以将 AWS CodePipeline 配置为使用 AWS CodeDeploy 来:

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

  • 部署无服务器 AWS Lambda 函数版本。

在您创建管道之前或在创建管道向导中时,您可以创建 AWS CodeDeploy 应用程序、部署和部署组以在阶段的部署操作中使用。

了解更多:

AWS 无服务器应用程序模型

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

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

Elastic Load Balancing

AWS CodeDeploy 支持 Elastic Load Balancing,后者是一种可跨多个 Amazon EC2 实例分发传入的应用程序流量的服务。

对于 AWS CodeDeploy 部署,负载均衡器还能阻止流量路由到未就绪的实例,目前正在部署的实例,或环境不再需要的实例。

了解更多: