Tom*_*les 3 version-control continuous-integration hudson jenkins
我正在使用subversion学习整个版本控制的东西,并使用trunk,branch,tags等来处理我项目的所有不同工作/版本.我也试图通过与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
Run Code Online (Sandbox Code Playgroud)
..在Jenkins中设置此构建项目的最佳做法是什么,以便我的SVN中的所有不同区域都被持续监控并且构建了任何更改?
我是否会设置一个包含多个源代码存储库的项目,每个版本/主干一个?或者我会设置多个构建项目?我该怎么做?
编辑:我应该使用矩阵项目(构建多配置项目)吗?
对于夜间构建(那些相对不频繁且需要较长时间的构建,通常由于在其中进行更多自动化测试),矩阵项目非常适合.它的主要优点是"一个变化点" - 您不必编辑多个作业,以便在构建中引入相同的更改.当然,这仅适用于作业在分支之间几乎没有变化的情况(顺便说一下,这种变化通常可以通过Run Condition Plugin得到很好的处理).
在这种情况下,多配置项目可能不是最适合交付构建的(交付构建在开发人员提交到存储库以检查他/她的更改是否集成良好时运行).原因是,如果你提交trunk,你只想构建trunk,但矩阵构建将构建所有东西(消耗计算资源和时间).
对于交付构建,我将使用参数化构建,其中主要参数将是要构建的分支.该构建可以由SVN钩子触发(参见本文档).或者,您可以为每个将轮询分支的分支(通过Subversion插件)关联触发器构建,并通过参数化触发器插件使用适当的参数触发主构建.
顺便说一下,我实际上使用了上面提到的所有方法(除了SVN钩子,我不再完全出于技术原因).
| 归档时间: |
|
| 查看次数: |
2904 次 |
| 最近记录: |