3

我有一个詹金斯奴隶(在 localhost:8000 ),我正在从詹金斯大师(在 localhost:8080 )执行它(链接)。这里的基本思想是运行远程作业并等待作业完成。

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

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

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

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

4

2 回答 2

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

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

于 2013-03-16T04:20:51.777 回答
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

检查一些错误场景(错误的作业名称、作业创建失败等)

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

于 2013-03-17T06:19:02.340 回答