我们在Jenkins配置了几百个项目,我们希望触发非活动作业以检查它们是否仍然可以。 (例如,检查依赖性范围是否正常,如果出现新的依赖性版本,则不会导致失败)
“不活跃”是指目前尚未开发的工作,因此没有提交。 (所以SCM触发器不起作用......)
目前的解决方案是在晚上到周一建立所有工作;) - 但这会在Jenkins上产生很高的负载,并且在构建期间大规模热部署期间也会造成一些麻烦......
所以我的想法是使用ScriptTrigger Plugin并仅在最后一次构建时间(例如一周)时触发构建。
我们有一个Groovy脚本,显示哪些作业处于非活动状态:
def now = Calendar.instance.time.time;
for (item in Hudson.instance.items) {
def days = (now - item.getLastBuild().time.time) / 86400000;
def inactive = days > 7;
println(item.toString() + "\t" + days + "\t" + inactive);
}
此脚本在Jenkins脚本控制台上运行完美。
但我们不知道如何采用它来使其与ScriptTrigger插件一起使用,因为我们不知道如何访问作业。 - 在这种情况下变量item
......
我们尝试过:
//println(job);
//println(module);
//println(lastBuild);
//println(project);
那么如何访问作业和lastBuild?
或者是否有更好的方法可以在没有提交的情况下触发(仅)工作?