V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
Buffer2Disk
V2EX  ›  Bash

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

  •  
  •   Buffer2Disk · Jun 28, 2017 · 2500 views
    This topic created in 3239 days ago, the information mentioned may be changed or developed.

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

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

    4 replies    2017-06-28 13:47:19 +08:00
    shalk
        1
    shalk  
       Jun 28, 2017 via iPhone
    tailf -f 放在 job 确实很奇怪.我猜你是想根据日志的输入进行下一步动作,你可以 while true sleep 之类的,grep 一些关键字然后 break 出去 并且加上一个超时的条件 break 就可以了
    lovedebug
        2
    lovedebug  
       Jun 28, 2017
    额外起一个 monitor 线程是最简单的方式
    miao1007
        3
    miao1007  
       Jun 28, 2017 via Android
    tailf |sed -e “/q ”
    kanchi240
        4
    kanchi240  
       Jun 28, 2017
    放 jenkins 里面不太好,可以调用 jenkins 第三方 api 接口执行构建,然后再实现个日志监控
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   1703 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 90ms · UTC 16:24 · PVG 00:24 · LAX 09:24 · JFK 12:24
    ♥ Do have faith in what you're doing.