AWS CodePipeline 通知

AWS CodePipeline Notifications

我正在尝试向我在 AWS 中的管道添加一些通知。 我有一个使用 AWS CodeBuild 的构建阶段,我希望在构建失败时收到一封电子邮件。

我已经按照亚马逊提供的教程进行操作,它可以很好地通知我失败,但我似乎找不到如何在电子邮件中添加日志。

我创建了以下 CloudWatch 事件规则,它监控整个管道的执行。

{
  "source": [
  "aws.codepipeline"
  ],
  "detail-type": [
    "CodePipeline Pipeline Execution State Change"
  ],
  "detail": {
    "state": [
      "FAILED",
      "SUCCEEDED",
      "CANCELED"
    ],
    "pipeline": [
      "Pipeline_Trial"
    ]
  }
}

谁能帮我弄清楚如何将日志添加到此规则中?

来自 CodePipeline 的事件不包含 CodeBuild 日志,因此如果没有中间内容,您无法将其传递到您的电子邮件。

一种解决方案是让您的 CloudWatch 事件以 Lambda 函数为目标,该函数通过 CodeBuild / CloudWatch 日志 API 查找日志。然后它可以生成包含日志的电子邮件并通过 SNS 发送通知。