使用jenkins-cli.jar运行从属作业时,如何等待作业完成?

使用jenkins-cli.jar运行从属作业时,如何等待作业完成?,jenkins,continuous-integration,hudson,Jenkins,Continuous Integration,Hudson,我有一个Jenkins从机(本地主机:8000)和一个Jenkins主机(本地主机:8080)的。这里的基本思想是运行远程作业并等待作业完成 java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite" 现在,这不是等待。我开始在奴隶身上工作,詹金斯的主人说任务立即完成,尽管奴隶还要再运行30分钟 有人知道我如何阻止或检查从机上的信号,以验证它是否完成并获取作业的退出状态代码吗 注意:我的从机测试必须在从机上运行,因

我有一个Jenkins从机(本地主机:8000)和一个Jenkins主机(本地主机:8080)的。这里的基本思想是运行远程作业并等待作业完成

java -jar jenkins-cli.jar -s http://localhost:8000 build "Test Suite"
现在,这不是等待。我开始在奴隶身上工作,詹金斯的主人说任务立即完成,尽管奴隶还要再运行30分钟

有人知道我如何阻止或检查从机上的信号,以验证它是否完成并获取作业的退出状态代码吗

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

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

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

每个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
检查一些错误场景(作业名称错误、作业创建失败等)


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

我将在周一尝试,然后再与您联系。非常感谢。是的,成功了。非常奇怪的是-s被用于URL,然后又被用于URL。这是怎么回事?我相信这个CLI接口的布局方式与args的顺序有关。第一个-s参数与您正在执行的命令(“build”)一起附加到CLI(即什么服务器)。第二个/尾随的-s特定于“build”子命令,如帮助文档所述:“-s:等待命令完成/终止…”