我让Jenkins设置为不同平台构建XBMC图像。我的系统需要大约6个小时来构建每个图像,所以我更喜欢并行运行它们,通常一次运行2个或3个。问题是,如果他们必须下载模块的更新(如linux内核或sometihng),并行的2或3楼将同时下载,破坏下载(它们指向同一个文件夹)
是否可以在jenkins / hudson中指定偏移量? (我知道您可以安排构建,以及使用在完成一个项目后构建的触发器),例如:
构建1:立即
构建2:在构建1之后20分钟开始
构建3:在构建2之后20分钟开始
我试图寻找插件以及谷歌但没有运气。我也知道我可以通过jenkins中的类似cron的日程安排功能进行安排,但是我设置了构建触发器以轮询GIT仓库以查找构建的更改,我不仅仅是盲目调度。
答案 0 :(得分:4)
一种方法是选择“高级”下的“安静时段”选项 作业2设置为1200秒,作业3设置为2400秒。
这意味着当git中发现更改时,作业1将立即排队,作业2将延迟20分钟进入队列,而作业3则延迟40分钟。
答案 1 :(得分:1)
另一种方法是使作业成为某种构建流程(无论是使用构建流程插件还是说作业A的最后一项任务是运行作业B)。如果您可以将下载转换为自己的工作,那么您可以定义"下载"作为单线程工作,其余工作为多线程。
这样做只序列化需要序列化的内容。每隔20分钟做一次""当下载需要十五分钟时,事情将浪费时间,并且当速度减慢并且下载需要二十五分钟时,将会失败(可能以难以调试的方式)。