顶部的底线:当在控制台输出中遇到某个字符串时,有没有办法立即停止构建 ?
我们有一个使用maven目标site-deploy的maven构建(它通过ssh将java doc上传到远程服务器)。
每一次在蓝色的月亮中构建都会失败,并且由于这次失败,控制台输出文件是~12 + gigs,它们会记录我们的驱动器,这反过来会导致我们的Jenkins主机因为超出磁盘空间。
日志文件被反复填充以下消息:
警告:远程主机识别已更改!
有可能是某人正在做些什么!
现在有人可能会偷听你(中间人攻击)!
RSA主机密钥也可能刚刚更改。
远程主机发送的RSA密钥的指纹是 3D:69:41:8A:EC:D1:4C:D9:75:EF:7D:71:B7:7D:61:D0
请与您的系统管理员联系。
在known_hosts中添加正确的主机密钥以删除此消息。
是否要删除旧密钥并插入新密钥? (是/否):
我们正在修复构建过程,以便我们不会收到此错误消息,但如果Jenkins在遇到此消息时可以停止/中止构建,那将非常酷。
有办法做到这一点吗?
答案 0 :(得分:3)
我不知道任何现有的解决方案,但我相信应该可以编写自己的插件来实现。
您可以创建BuildWrapper decorates the log并搜索您的邮件,然后在符合条件的情况下终止该广告。
这是一个BuildWrapper,可以杀死一个运行时间太长的作业: