V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Buffer2Disk
V2EX  ›  Bash

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

  •  
  •   Buffer2Disk · 2017-06-28 09:21:19 +08:00 · 1991 次点击
    这是一个创建于 2703 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

    4 条回复    2017-06-28 13:47:19 +08:00
    shalk
        1
    shalk  
       2017-06-28 09:30:04 +08:00 via iPhone
    tailf -f 放在 job 确实很奇怪.我猜你是想根据日志的输入进行下一步动作,你可以 while true sleep 之类的,grep 一些关键字然后 break 出去 并且加上一个超时的条件 break 就可以了
    lovedebug
        2
    lovedebug  
       2017-06-28 09:35:58 +08:00
    额外起一个 monitor 线程是最简单的方式
    miao1007
        3
    miao1007  
       2017-06-28 11:57:31 +08:00 via Android
    tailf |sed -e “/q ”
    kanchi240
        4
    kanchi240  
       2017-06-28 13:47:19 +08:00
    放 jenkins 里面不太好,可以调用 jenkins 第三方 api 接口执行构建,然后再实现个日志监控
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2909 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 14:43 · PVG 22:43 · LAX 06:43 · JFK 09:43
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.