【发布时间】:2018-03-28 16:03:46
【问题描述】:
使用 Jenkins CLI 时,我可以使用带有选项 -v 和 -s 的 build 命令来运行构建,等待它完成并打印其输出。
有什么方法可以通过一次调用 REST API 来实现相同的结果(等待执行并获取作业输出)?我知道这可以通过轮询构建状态直到它完成然后请求其输出来完成,但我想知道是否有一个用于短期运行的简单选项。
【问题讨论】:
标签: jenkins jenkins-api
使用 Jenkins CLI 时,我可以使用带有选项 -v 和 -s 的 build 命令来运行构建,等待它完成并打印其输出。
有什么方法可以通过一次调用 REST API 来实现相同的结果(等待执行并获取作业输出)?我知道这可以通过轮询构建状态直到它完成然后请求其输出来完成,但我想知道是否有一个用于短期运行的简单选项。
【问题讨论】:
标签: jenkins jenkins-api
你可以以某种方式做到这一点。但即使你这样做了,你也不能将相同的代码应用于其他工作。 next available executor 将有等待期,否则可能会发生一些类似的竞争情况。并且长时间持有其余的 API 并不是一个好的选择。没有人建议这样做。
因此,您可以使用一种算法来轮询自身,而不是寻找 REST API。而不是每一秒,从以前的构建中获取结果并处理它,并尝试预测接近可能的时间,然后轮询。喜欢这种算法,否则你也可以使用Jenkins build remaining time。希望这是有道理的。
【讨论】: