首页 文章

在哈德森/詹金斯错开建筑是否有可能?

提问于
浏览
4

我让Jenkins设置为不同平台构建XBMC图像 . 我的系统需要大约6个小时来构建每个图像,所以我更喜欢并行运行它们,通常一次运行2个或3个 . 问题是,如果他们必须下载模块的更新(如linux内核或sometihng),并行的2或3楼将同时下载,破坏下载(它们指向同一个文件夹)

在jenkins / hudson中是否可以指定偏移量? (我知道您可以安排构建,以及使用在完成一个项目后构建的触发器),例如:

构建1:立即

构建2:在构建1之后20分钟开始

构建3:在构建2之后20分钟开始

我试图寻找一个插件以及谷歌,但没有运气 . 我也知道我可以通过jenkins中的类似cron的日程安排功能进行安排,但我设置了构建触发器以轮询GIT仓库以查找构建的更改,我不仅仅是盲目调度 .

2 回答

  • 1

    一种方法是在"Advanced"下选择"Quiet Period"选项 .
    作业2的设置为1200秒,作业3的设置为2400秒 .

    这意味着当在git中发现更改时,作业1将立即排队,作业2将以20分钟的延迟进入队列,而作业3将延迟40分钟 .

  • 4

    另一种方法是使作业成为某种构建流程(无论是使用构建流程插件还是说作业A的最后一项任务是运行作业B) . 如果您可以将下载转换为自己的作业,那么您可以将“下载”作业定义为单线程,其余作为多线程 .

    这样做只序列化需要序列化的内容 . 做“每20分钟”的事情会浪费时间,下载需要15分钟,并且当速度减慢并且下载需要25分钟时,可能会失败(可能以难以调试的方式) .

相关问题