我试图看看是否有一个插件,可以做我想做的事情,或一些东西,我错过了詹金斯触发器。为了给你一个我们想要做的例子,让我来解释一下目前的事情是如何发生的。
因此,上面的一切都很好,而且工作正常,但是我们想要做的是在Jenkins获取合并之后触发服务器停止和构建。这是一个陷阱,这是一个大项目,有多个轨道,我们可以说4-10合并完成在10-30分钟的窗口。因此,很明显,我们不希望队列中有4-10个作业都运行相同的东西。
那么,实现上述目标的最佳方法是什么,即基于合并的Jenkins触发器,例如等待x分钟,如果没有其他合并,则触发构建过程,如果新的合并重置计数器返回x分钟并再次等待?
是否有任何插件或触发器内置到Jenkins中,我们可以用它来实现这一点?(我找不到任何明显的东西)或者这是我们需要参数化构建并运行一些脚本的情况吗?
发布于 2017-02-20 15:40:39
不知道有什么插件可以做到这一点。但是,如果您正在使用作业类型管道或愿意将其转换为管道,那么以下Jenkins管道将完成此任务:
// Sleep for a certain time, in this case 20 seconds
sleep(20);
// Check if there is a newer build, if there is abort this one.
if (currentBuild.nextBuild != null) {
echo "Got newer build, aborting this one!"
currentBuild.result = Result.NOT_BUILT;
return;
}
// Do the rest of building here
发布于 2020-12-04 03:39:07
您可以从URL中运行下面的命令,它达到了目的。https:///build?delay=600sec
https://stackoverflow.com/questions/42348233
复制相似问题