3

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

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

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

云形成示例

4

3 回答 3

5

来自 AWS:

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

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

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

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

于 2017-02-02T15:04:55.333 回答
2

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

公告:Amazon CloudWatch Events 现在支持将 AWS CodePipeline 作为目标

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

在此处输入图像描述

于 2017-10-05T16:34:23.600 回答
1

AWS 尚未提供该功能。

下面是一个 Lambda 函数的示例,该函数在 CodePipeline 操作正在进行、成功或失败时发送 Slack 通知:https ://github.com/sandtable/codepipelinetoslack

它使用延续令牌监控并行 CodePipeline 操作的状态。

于 2017-08-11T14:59:12.480 回答