使用jenkins-cli.jar运行奴隶工作时如何等待工作完成?

时间:2013-03-15 17:26:32

标签: jenkins continuous-integration hudson

我有Jenkins奴隶(在localhost:8000)和Jenkins Master的 I am executing it ( link ) (在localhost:8080)。这里的基本思想是运行远程作业并等到作业完成。

java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite"

现在,这不等了。我开始在奴隶上工作,詹金斯大师说任务立即完成,尽管奴隶跑了30分钟。

有谁知道如何阻止或检查从站上的信号以验证它是否已完成并获取作业的退出状态代码?

注意:我的slave测试必须在slave上运行,因为它不会从Jenkins master运行,它作为服务运行,不允许从测试启动webbrowser的权限。所以,我在一个可见的控制台中运行奴隶。

2 个答案:

答案 0 :(得分:5)

java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite" -s

将参数-s添加到构建命令应触发作业并在作业完成后返回

答案 1 :(得分:1)

每个Windows应用程序都会向其父级返回退出代码。使用Windows批处理文件检查退出代码。例如:

java -jar jenkins-cli.jar -s http://127.0.0.1:9090 build "Test Suite" -s
echo The exit code is %errorlevel%

成功完成工作后,您将获得:

Completed "Test Suite" #72 : SUCCESS
The exit code is 0

检查一些错误情况(错误的作业名称,作业创建FAILED等)

注意:运行master jenkins而不是Windows服务可能更容易。