2010-06-25 31 views
1

我的構建和部署步驟會創建一些日誌。如果我看到某些字符串,我想搜索日誌並查看構建失敗。如何在日誌中搜索字符串,並且只有在哈德森中找到時纔會失敗?

,良好的日誌看起來像

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不返回任何東西。那麼有沒有更好的方法來搜索字符串?有沒有辦法讓grep沒有返回任何不能退出的腳本?

版本的東西: *哈德森1.355

回答

2

從一個shell命令哈德森文檔:

默認情況下,殼將與 「-EX」 選項來調用。因此,所有命令在執行前都會打印,如果任何命令以非零退出代碼退出,則構建被視爲失敗。再次,添加#!/ bin/...行以更改此行爲。

因此,請嘗試添加#!/ bin/sh行,看看它做了什麼?

+0

我很高興你發佈了這個。我一直在用這個問題非常糟糕的解決方法。我會試試這個。 – 2010-06-25 15:51:41

相關問題