Version control 如何设置Jenkins来构建项目的所有版本?

Version control 如何设置Jenkins来构建项目的所有版本?,version-control,continuous-integration,hudson,jenkins,Version Control,Continuous Integration,Hudson,Jenkins,我正在学习subversion的整个版本控制,并在我的项目的所有不同工作/版本中使用主干、分支、标记等。我还尝试使用与Jenkins的持续集成来提高速度(尝试了ccnet,设置起来真是一场噩梦!) 所以我的问题是,如果我的项目SVN中有以下方面: file:///E:/Data/SVN/MyProject/trunk file:///E:/Data/SVN/MyProject/tags/version_1.0 file:///E:/Data/SVN/MyProject/branch/versio

我正在学习subversion的整个版本控制,并在我的项目的所有不同工作/版本中使用主干、分支、标记等。我还尝试使用与Jenkins的持续集成来提高速度(尝试了ccnet,设置起来真是一场噩梦!)

所以我的问题是,如果我的项目SVN中有以下方面:

file:///E:/Data/SVN/MyProject/trunk
file:///E:/Data/SVN/MyProject/tags/version_1.0
file:///E:/Data/SVN/MyProject/branch/version_1.1
。。在Jenkins建立此构建项目的最佳实践是什么,以便持续监控我的SVN中的所有不同区域并构建任何更改

我是否会设置一个包含多个源代码存储库的项目,每个版本/主干等各一个?或者我会设置多个构建项目?我该怎么做


编辑:我是否应该为此使用矩阵项目(生成多配置项目)?

设置多个作业,为要生成的每个分支/标记设置一个作业。一旦一个作业运行良好,就可以复制它来创建其余的作业,只需更改SVN URL即可

当您停止维护这些标记/分支时,您还应该扔掉旧的作业,这样您的Jenkins配置就不会失控。

对于夜间构建(那些运行相对不频繁且需要较长时间的构建,通常是因为在它们中完成了更多的自动化测试),矩阵项目是一个很好的选择。它的主要优点是“一个变更点”——您不必编辑多个作业来将相同的变更引入到构建中。当然,这只适用于各分支之间的工作变化很小的情况(顺便说一句,这种变化通常可以巧妙地由客户处理)

在这种情况下,多配置项目可能不是交付构建的最佳选择(交付构建是在开发人员提交到存储库以检查其更改是否集成良好时运行的)。原因是,如果您致力于主干,您只想构建主干,但矩阵构建将构建所有内容(消耗计算资源和时间)

对于交付构建,我将使用参数化构建,其中主要参数是要构建的分支。该构建可以由SVN钩子触发(请参阅)。或者,您可以将每个将轮询分支(via)的分支的触发器生成关联起来,并通过适当的参数触发主生成

顺便说一句,我实际上使用了上述所有方法(除了SVN钩子,我不再使用它,因为不完全是技术原因)