在CodePipeline Stage或Action Failure上调用Lambda函数

时间:2017-01-31 23:17:06

标签: aws-lambda aws-codepipeline

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

通过触发Lambdas,在进入生产阶段时打开RFC并在成功的生产构建/测试上关闭RFC是很容易的。 CodePipeline Stage或Test Action失败时会出现问题。

如何在CodePipeline阶段失败时触发Lambda? 类似地,当CodePipeline测试操作失败时如何触发Lambda?

Example cloudformation

2 个答案:

答案 0 :(得分:4)

来自AWS:

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

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

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

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

答案 1 :(得分:1)

截至2017年7月12日,亚马逊宣布推出此功能。

公告:Amazon CloudWatch Events now supports AWS CodePipeline as a target

在Cloudwatch控制台中,您已经可以将其视为目标。

enter image description here