Thu*_*toe 6 continuous-integration hudson build svn-hooks jenkins
工具:
Jenkins ver.1.470
Maven 2
Subversion
环境
假设我的构建有许多项目AD.依赖图存在,如图所示.也就是说:B依赖于A中的类,C依赖于B中的类,D依赖于A中的类.我们创建jenkins构建,以便它们将构建依赖于它们作为构建后动作.
A
| - > B - > C
| - > D.
每天晚上,我们触发Jenkins的完整构建(A构建,触发B(触发器C),触发器D).这很容易通过告诉A每晚建造,其余的瀑布.
问题
但是,在提交时,我们希望构建一次提交的项目.
情况1:我们轮询存储库(或者使用提交钩子,它没有区别)并且发现存在对B的提交,然后B将构建并且C将构建. 成功!
情况2:我们轮询存储库并发现B和C在一次提交中被提交,然后Jenkins将尝试构建B(触发C的构建),并构建C(第二次构建).失败.走着瞧吧?C建成两次,占用了宝贵的构建时间. 保持快速构建!
有没有人知道只在每个提交的构建管道中触发最高项目的方法?
我想一个解决方案是一个复杂的SVN钩子,它确定每个管道中的最高项目......
陷阱:非常复杂的SVN提交挂钩.必须维护SVN钩子中的管道.
我觉得这是其他人遇到的问题.是否有一个Jenkins插件可以帮助解决这个问题?
让 jenkins 等待构建直到 c 依赖的构建完成是一个想法。这是作业配置中的一个标志,用于执行此操作。但你必须为每项工作执行此操作。顺便说一句......还有另一个标志要求詹金斯等待构建,直到依赖作业完成。