2011-09-27 179 views
0

我是一個Jenkins的新手。 我想讓詹金斯監視我的shell腳本的執行情況,所以我不必每次都手動啓動它們,但我無法弄清楚如何執行它。 我發現了「監視外部作業」選項,但我無法正確配置它。 我知道詹金斯可以理解shell腳本退出代碼,所以這是我所做的:從Jenkins啓動shell腳本

test1(){ 
ls /home/user1 | grep $2 
case $? in 
    0) msg_error 0 "Okay." 
     ;; 
    *) msg_error 2 "Error." 
     ;; 
esac 
} 

這是我的函數的簡化版本。 我手動執行它們,但我想從詹金斯用參數啓動它們,並獲得結果。 可以這樣做嗎?

謝謝。

回答

0

你可能要考慮設立一個Ant構建,通過使用Ant的exec命令執行你的shell腳本:

http://ant.apache.org/manual/Tasks/exec.html

通過Exec任務的failonerror參數設置爲true,你可以有如果您的shell腳本返回錯誤代碼,則構建失敗。

0

要在shell中使用參數,您可以始終直接發送它們。例如:

  1. 定義字符串參數在你的工作參數1 = test_param
  2. 在你的shell,你可以使用$參數1,它會發送值「test_param」

關於輸出,一切你在shell部分下做的只會涉及到shell的會話。您可以嘗試將您的輸出返回到工作區中的key = value txt文件中,並使用EnvInject Plugin注入結果。然後,您可以訪問該值,就像您將其定義爲該作業的參數一樣。在上面的例子中,注入文件後,執行shell echo $ Param1將打印「test_param」

希望它有幫助!