2011-09-27 174 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”

希望它有帮助!