与其他 AWS 服务集成 - AWS CodeDeploy

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

与其他 AWS 服务集成

CodeDeploy 已与以下 AWS 服务集成:

Amazon CloudWatch

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

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

    了解更多:

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

    了解更多:

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

    了解更多:

Amazon A EC2 uto Scaling

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

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

  • 磁盘读取或写入数。

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

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

了解更多:

Amazon Elastic Container Service

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

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

AWS CloudTrail

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

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

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

  • 谁发出了请求。

  • 发出请求的时间。

了解更多:

AWS Cloud9

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

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

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

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

AWS CodePipeline

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

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

  • 向 Amazon EC2 实例、本地实例或两者兼而有之编码。

  • 无服务器 Lamb AWS da 函数版本。

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

了解更多:

AWS 无服务器应用程序模型

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

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

Elastic Load Balancing

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

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

了解更多: