从Jenkins启动shell脚本

时间:2011-09-27 17:01:33

标签: linux shell hudson jenkins

我是詹金斯的新手。 我试图让Jenkins监视我的shell脚本的执行,所以我不必每次手动启动它们,但我无法弄清楚如何做到这一点。 我发现了“监视外部作业”选项,但我无法正确配置它。 我知道Jenkins可以理解Shell脚本退出代码,所以这就是我所做的:

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

这是我的功能的简化版本。 我手动执行它们但我想用Jenkins从参数中启动它们并获得结果。 可以这样做吗?

感谢。

2 个答案:

答案 0 :(得分:0)

您可能需要考虑使用Ant的Exec命令设置执行shell脚本的Ant构建:

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

通过将Exec任务的 failonerror 参数设置为true,如果shell脚本返回错误代码,则可能导致构建失败。

答案 1 :(得分:0)

要在shell中使用参数,您始终可以直接发送它们。例如:

  1. 在作业中定义字符串参数Param1 = test_param
  2. 在你的shell中
  3. 你可以使用$ Param1,它会发送值" test_param"
  4. 关于输出,您在shell部分下执行的所有操作都只与shell的会话相关。您可以尝试将输出返回到工作空间中的key = value txt文件,并使用EnvInject Plugin注入结果。然后,您可以访问该值,就像将其定义为作业的参数一样。在上面的例子中,在注入文件后,执行shell echo $ Param1将打印" test_param"

    希望它有所帮助!