代码之家  ›  专栏  ›  技术社区  ›  Rob Spieldenner

我怎么能在日志中搜索一个字符串,但只有在Hudson中找到才失败呢?

  •  1
  • Rob Spieldenner  · 技术社区  · 14 年前

    我的构建和部署步骤创建了一些日志。如果我看到某些字符串,我想搜索日志并使生成失败。

    好的原木看起来像

    log stuff
    step 1: SUCCESS
    step 2: SUCCESS
    

    出现故障的日志如下所示

    log stuff
    step 1: SUCCESS
    step 2: FAIL
    

    我的支票是

    grep FAIL /path/to/build.log
    if [ $? -eq 0 ]; then
      exit 1
    fi
    

    我也试过了

    RESULT=`grep FAIL /path/to/build.log`
    if [ -n "$RESULT" ]; then
      exit 1
    fi
    

    哈德逊在格雷普的基础上失败了,他什么也没回。那么有没有更好的方法来搜索字符串呢?有没有办法让grep不返回任何东西而不退出脚本呢?

    版本资料: *哈德逊1.355

    1 回复  |  直到 14 年前
        1
  •  2
  •   wds    14 年前

    从hudson文档中获取shell命令:

    默认情况下,shell将使用“-ex”选项调用。所以所有的命令在执行之前都会被打印出来,如果任何命令以非零的退出代码退出,那么构建就被认为是失败的。再次添加#/bin/。。。行来更改此行为。

    所以,尝试添加一个#/bin/sh行并查看它的功能?