jenkins 里面执行 shell 脚本, job 被挂起的问题

2017-06-28 09:21:19 +08:00
 Buffer2Disk

如题,maven 构建完成后,想实时输出日志,用了 tail -f,但是这样的话会导致 jenkins 执行的 job 长时间被挂起,没有自动结束。

所以,有没有办法,监听到某个关键字(比如 running )或者执行一定时间( 20 )秒后就终止 tail -f 命令的? 监听关键字感觉不是很好,比如构建错误的话,就不是 running 了,所以,执行一定时间后结束是不是好一点。。

1992 次点击
所在节点   Bash
4 条回复
shalk
2017-06-28 09:30:04 +08:00
tailf -f 放在 job 确实很奇怪.我猜你是想根据日志的输入进行下一步动作,你可以 while true sleep 之类的,grep 一些关键字然后 break 出去 并且加上一个超时的条件 break 就可以了
lovedebug
2017-06-28 09:35:58 +08:00
额外起一个 monitor 线程是最简单的方式
miao1007
2017-06-28 11:57:31 +08:00
tailf |sed -e “/q ”
kanchi240
2017-06-28 13:47:19 +08:00
放 jenkins 里面不太好,可以调用 jenkins 第三方 api 接口执行构建,然后再实现个日志监控

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/371575

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX