创建通知规则 - AWS CodeDeploy
AWS 文档中描述的 AWS 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 AWS 服务入门

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

创建通知规则

您可以使用通知规则在部署应用程序发生更改(如部署成功和失败)时通知用户。通知规则指定用于发送通知的事件和 Amazon SNS 主题。有关更多信息,请参阅什么是通知?

您可以使用控制台或 AWS CLI 为 AWS CodeDeploy 创建通知规则。

创建通知规则(控制台)

  1. 登录 AWS 管理控制台并通过以下网址打开 CodeDeploy 控制台:https://console.amazonaws.cn/codedeploy/

  2. 选择 Application (应用程序),然后选择要在其中添加通知的应用程序。

  3. 在应用程序页面上,选择 Notify (通知),然后选择 Create notification rule (创建通知规则)。您也可以转到应用程序的 Settings (设置) 页面,然后选择 Create notification rule (创建通知规则)

  4. Notification name (通知名称) 中,输入规则的名称。

  5. Detail type (详细信息类型) 中,如果您希望仅在通知中包含提供给 Amazon EventBridge 的信息,请选择 Basic (基本)。如果要包括提供给 Amazon EventBridge 的信息以及可能由 CodeDeploy 或通知管理器提供的信息,请选择 Full (完整)

    有关更多信息,请参阅了解通知内容和安全性

  6. Events that trigger notifications (触发通知的事件) 中,选择要为其发送通知的事件。

    类别 事件

    部署

    已失败

    Succeeded

    Started

  7. Targets (目标) 中,选择 Create SNS topic (创建 SNS 主题)

    注意

    创建主题时,将为您应用允许 CodeDeploy 向主题发布事件的策略。使用专为 CodeDeploy 通知创建的主题还有助于确保仅将用户添加到您要查看有关此部署应用程序的通知的该主题的订阅列表中。

    codestar-notifications- 前缀后面,输入主题的名称,然后选择 Submit (提交)

    注意

    如果要使用现有 Amazon SNS 主题而不是创建新主题,请在 Targets (目标) 中选择其 ARN。请确保主题具有适当的访问策略,并且订阅者列表仅包含允许查看有关部署应用程序的信息的用户。有关更多信息,请参阅为通知配置现有 Amazon SNS 主题以及了解通知内容和安全性

  8. 要完成规则创建,请选择 Submit (提交)

  9. 您必须为用户订阅规则的 Amazon SNS 主题,然后他们才能接收通知。有关更多信息,请参阅为用户订阅作为目标的 Amazon SNS 主题。您还可以设置通知和 AWS Chatbot 之间的集成,以将通知发送到 Amazon Chime 聊天室或 Slack 频道。有关更多信息,请参阅配置通知和 AWS Chatbot 之间的集成

创建通知规则 (AWS CLI)

  1. 在终端或命令提示符处,运行 create-notification rule 命令以生成 JSON 骨架:

    aws codestar-notifications create-notification-rule --generate-cli-skeleton > rule.json

    您可以将此文件命名为所需的任意名称。在本示例中,文件命名为 rule.json

  2. 在纯文本编辑器中打开 JSON 文件,然后对其进行编辑,以包括该规则所需的资源、事件类型和 Amazon SNS 目标。以下示例为具有 ID 123456789012 的 AWS 帐户中的名为MyDeploymentApplication 的应用程序显示一个名为 MyNotificationRule 的通知规则。当部署成功时,会将通知与完整详细类型一起发送到名为 codestar-notifications-MyNotificationTopic 的 Amazon SNS 主题:

    { "Name": "MyNotificationRule", "EventTypeIds": [ "codedeploy-application-deployment-succeeded" ], "Resource": "arn:aws:codebuild:us-east-2:123456789012:MyDeploymentApplication", "Targets": [ { "TargetType": "SNS", "TargetAddress": "arn:aws:sns:us-east-2:123456789012:codestar-notifications-MyNotificationTopic" } ], "Status": "ENABLED", "DetailType": "FULL" }

    保存文件。

  3. 通过使用您刚编辑的文件,在终端或命令行上,再次运行 create-notification-rule 命令以创建通知规则:

    aws codestar-notifications create-notification-rule --cli-input-json file://rule.json
  4. 如果成功,该命令将返回通知规则的 ARN,类似于以下内容:

    { "Arn": "arn:aws:codestar-notifications:us-east-1:123456789012:notificationrule/dc82df7a-EXAMPLE" }