如何只在Jenkins中执行最近的排队作业?

l0b*_*0b0 3 jenkins

我在Jenkins有一个提交构建项目,它在完成时安排一个验收构建项目.由于提交的速度比接受构建作业完成的速度快,因此在短时间后,现在有六个排队的接受构建作业.我希望验收构建项目像"Poll SCM"功能一样工作 - 完成后,启动最近排队的作业,跳过其余部分.

因为我需要将提交构建作业中的信息传递给接受构建作业,所以我不能使用"构建其他项目之后构建"而不需要更多黑客攻击.

333*_*hin 7

@ l0b0,

Jenkins的行为是合并构建,以便队列只包含当前正在运行的构建和一个排队的作业.如果新排队的作业采用的参数与队列中已有的参数不同,则深度仅会增加.

所以我收集到你的下游(接受)工作需要某些参数,但是你需要提供更多关于它如何工作的细节.

如果您正在使用参数化触发器插件,那么您应该检查这个现有的SO线程

更一般地说,您应该查看您的参数.这听起来好像是从上游到下游作业传递了太多信息,导致Jenkins队列将它们视为不同的参数,然后不一定如此.

您是否将上次成功上游作业的运行编号作为参数传递?如果是的话,那么你有问题.你应该做的是使用上游作业中的Promoted Build Plugin来标记上一次成功的构建,然后让下游作业简单地跳转到最近提升的构建.

希望有所帮助.