我正在尝试使用Groovy设置Jenkins中的执行程序数。我找到了一个方法hudson.model.Hudson.instance.setNumExecutors(int)但它似乎并没有真正起作用。问题是在运行Groovy脚本后修改后的值出现在配置面板中,但是我必须在该面板中单击“保存”才能真正更改它。
这是代码(作为Jenkins Groovy插件的构建步骤执行):
import hudson.model.*
// Initial number of executors is 1, let's increase the number of executors to 2
Hudson hudson = Hudson.getInstance()
hudson.setNumExecutors(2)
hudson.save()
def job = hudson.getJob("some_other_job")
def future = job.scheduleBuild2(0, new Cause.UpstreamCause(build))
subBuild = future.get()
// Set the number of executors back to 1
hudson.setNumExecutors(1)
hudson.save()
答案 0 :(得分:6)
解决方法是在致电hudson.setNodes(hudson.getNodes())
后致电setNumExecutors()
。
答案 1 :(得分:0)
如果一切按预期工作,除非您必须手动按下保存按钮以使更改保持不变,这听起来就像您在进行更改后没有在Jenkins实例上调用save。