如何发送CodePipeline状态通知?

如何发送CodePipeline状态通知?

我在 AWS 上有几个 CD 管道,它们执行以下操作:

  • 监听 Github repo 的推送
  • 构建 Docker 镜像
  • 将图像推送至 ECR
  • 更新 ECS 任务定义
  • 使用 CloudFormation 堆栈更新 ECS 服务

我想发送以下通知: - 每当管道成功完成时 - 如果管道失败,则发送失败的步骤以及原因

我确信使用 SNS 可以实现这一点,但我找不到如何实现。有人能告诉我如何设置此类通知的资源吗?

答案1

CodePipeline 在管道状态改变(例如管道成功或失败)时发出 CloudWatch 事件:https://docs.aws.amazon.com/codepipeline/latest/userguide/detect-state-changes-cloudwatch-events.html

尽管通知可能不会告诉您具体原因,但它会告诉您具体时间。

您可以通过 Lambda 函数使用该事件,该函数还可以查找额外数据(例如 CodeBuild 日志),然后将它们添加到电子邮件通知中以添加“原因”。

相关内容