为部署组配置高级选项 - Amazon CodeDeploy
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

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

为部署组配置高级选项

在创建或更新部署组时,可以配置大量选项以更好地控制和监督部署组的部署。

使用此页面上的信息可帮助您在以下主题中使用部署组时配置高级选项:

Amazon SNS 通知触发器:您可以将触发器添加到 CodeDeploy 部署组,以接收与该部署组中的部署相关的事件的通知。对于您加入到该触发器操作中的 Amazon SNS 主题,通知将发送到已订阅该 Amazon SNS 主题的接收人。

您必须已设置此触发器将指向的 Amazon SNS 主题,并且 CodeDeploy 必须有权从此部署组发布到此主题。如果您尚未完成这些设置步骤,可稍后向部署组添加触发器。

如果您需要立即创建触发器以接收有关此应用程序的部署组中的部署事件的通知,请选择 Create trigger

如果您要部署到 Amazon EC2 实例,则可以为实例创建通知并接收有关实例的通知。

有关更多信息,请参阅Monitoring Deployments with Amazon SNS Event Notifications

Amazon CloudWatch 警报:您可以创建一个 CloudWatch 警报来按指定的时间段观察单个指标,并根据相对于给定阈值的指标值在若干时间段内执行一项或多项操作。对于 Amazon EC2 部署,您可以为在 CodeDeploy 操作中使用的实例或 Amazon EC2 自动扩展组创建一个警报。对于AmazonLambda 和 Amazon 云服务器部署时,您可以在 Lambda 函数中为错误创建警报。

您可以将部署配置为在 Amazon CloudWatch 警报检测到某个指标低于或超出定义的阈值时停止。

您必须先在 CloudWatch 中创建警报,然后才能将警报添加到部署组。

  1. 要向部署组添加警报监视,请在 Alarms (警报) 中,选择 Add alarm (添加警报)

  2. 输入您已经设置好监控此部署的 CloudWatch 警报的名称。

    您必须严 CloudWatch 按照中创建的名称输入云监控警报。要查 CloudWatch 警报列表,请在https://console.amazonaws.cn/cloudwatch/,然后选择警报

其他选项:

  • 如果您希望继续部署而不考虑已添加的警报,请选择 Ignore alarm configuration

    当您希望暂时停用对部署组的警报监视而无需稍后重新添加相同警报时,此选项很有用。

  • (可选)如果您希望部署在 CodeDeploy 无法从 Amazon CloudWatch 检索警报状态时继续,请选择即使警报状态不可用,仍继续部署

    注意

    此选项对应于ignorePollAlarmFailure中的AlarmConfiguration对象中的 CodeDeploy API。

有关更多信息,请参阅使用 CodeDeploy 中的 CloudWatch 警报监控部署

自动回滚:您可以对部署组或部署进行配置,使之在部署失败或达到您指定的监控阈值时自动回滚。在这种情况下,将会部署上一个已知良好的应用程序版本。您可以在使用控制台创建应用程序、创建部署组或更新部署组时配置部署组的可选设置。创建新部署时,您还可以选择覆盖已为部署组指定的自动回滚配置。

  • 您可通过选择下面一个或两个选项,允许部署在发生错误时回滚到已知正常的最近修订:

    • 部署失败时回滚。CodeDeploy 将上一个已知良好的版本重新部署为新的部署。

    • Roll back when alarm thresholds are met。如果您在前面的步骤中为此应用程序添加了警报,CodeDeploy 将在激活一个或多个指定警报时重新部署上一个已知良好的版本。

    注意

    要暂时忽略回滚配置,请选择 Disable rollbacks。当您希望暂时禁止自动回滚而无需稍后重新设置相同配置时,此选项很有用。

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

自动更新过时的实例:在某些情况下,CodeDeploy 可能会将您的应用程序的过时修订部署到您的 Amazon EC2 实例。例如,如果您的 EC2 实例在 CodeDeploy 部署过程中启动到 Auto Scaling 组 (ASG) 中,则这些实例将接收应用程序的旧版本,而不是最新版本。为了使这些实例处于最新状态,CodeDeploy 会自动启动后续部署(立即在第一个部署之后),以更新任何过时的实例。如果您想更改此默认行为,以便使过时的 EC2 实例保留在旧版本中,则可以通过 CodeDeploy API 或Amazon Command Line Interface(CLI).

要通过 API 配置过时实例的自动更新,请在outdatedInstancesStrategy请求参数UpdateDeploymentGroup或者CreateDeploymentGroupaction. 有关详细信息,请参阅。Amazon CodeDeployAPI 参考

要配置自动更新,请通过Amazon CLI,请使用以下任一命令:

aws deploy update-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

或者...

aws deploy create-deployment-group arguments --outdated-instances-strategy UPDATE|IGNORE

... 其中,参数替换为部署所需的参数,更新 | IGNORE替换为UPDATE启用自动更新,或IGNORE以禁用它们。

例如:

aws deploy update-deployment-group --application-name "MyApp" --current-deployment-group-name "MyDG" --region us-east-1 --outdated-instances-strategy IGNORE

有关详细信息Amazon CLI命令中,请参阅。Amazon CLI命令参考