gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-04 07:06:06 27 4
gpt4 key购买 nike

我正在通过 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 中的所有不同区域并构建任何更改?

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

编辑:我应该为此使用矩阵项目(构建多配置项目)吗?

最佳答案

对于夜间构建(那些运行相对不频繁且需要较长时间的构建,通常是由于在其中进行了更多的自动化测试),矩阵项目非常适合。它的主要优点是“一点变化”——您不必编辑多个作业即可将相同的更改引入您的构建中。当然,这仅适用于工作在分支之间几乎没有差异的情况(顺便说一下,这种差异通常可以由 Run Condition Plugin 巧妙地处理)。

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

对于交付构建,我将使用参数化构建,其中主要参数是要构建的分支。该构建可以由 SVN 钩子(Hook)触发(参见 this document)。或者,您可以为每个将轮询分支的分支关联一个触发器构建(通过 Subversion plugin )并通过 Parameterized Trigger plugin 使用适当的参数触发您的主构建.

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

关于version-control - 如何设置 Jenkins 来构建我的项目的所有版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10903192/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com