在 CodePipeline 阶段或操作失败时调用 Lambda 函数

Eri*_*ord 3 aws-lambda aws-codepipeline

当 CodePipeline 创建生产资产时,我们需要提交变更请求。

在进入生产阶段时打开 RFC 并在成功的生产构建/测试时关闭 RFC 通过触发 Lambda 很容易。当 CodePipeline 阶段或测试操作失败时就会出现问题。

当 CodePipeline Stage 失败时如何触发 Lambda?同样,如何在 CodePipeline 测试操作失败时触发 Lambda?

云形成示例

Eri*_*ord 5

从 AWS:

当管道无法完成时获得相关详细信息通知的能力是一个流行的功能请求(由多个客户询问并且非常有效的用例具有),我可以确认它在服务团队路线图上,但他们没有t 提供了针对此请求的 ETA(我建议检查此服务的发布历史记录页面:链接https://aws.amazon.com/releasenotes/AWS-CodePipeline

作为替代,下面列出了使用 Lambda 实现此功能的其他方法:

1) 有一个 Lambda 函数,它使用基于时间的 CloudWatch 事件轮询管道状态,并在看到失败的操作时触发 SNS 通知。

2) 将使用我们的 Lambda 集成的 Lambda 函数作为您要监控的操作的并行操作,然后从 Lambda 函数内监控其他操作的状态,以查看它是失败还是成功。使用延续令牌确保 Lambda 函数一直被调用,直到它看到其他操作的结果,并相应地发送 SNS 通知。