如何在詹金斯切换工作副本?

时间:2013-09-27 12:07:28

标签: svn jenkins hudson svn-switch

我正在使用jenkins进行构建过程。 我用svn url创建了一份工作 test.svn.com/branch/branch4 现在我想切换这个工作副本到 test.svn.com/branch/branch5 。 詹妮丝怎么可能。

当我在jenkins中提供新的URL时,jenkins清理旧代码然后进行结帐。 我不想清理旧代码,我只想更新此副本以更改文件。

因为清理工作副本和结帐新分支需要更多时间并占用网络带宽。

我还为此问题安装了更新的subversion插件,但它不符合我的要求。

如果有任何人对此有任何想法,请告诉我。

我也经历过以下网址。

https://issues.jenkins-ci.org/browse/JENKINS-2556?page=com.atlassian.jira.plugin.system.issuetabpanels:changehistory-tabpanel

3 个答案:

答案 0 :(得分:2)

当您更改作业的存储库时,Jenkins可以做出最安全的假设,即存储库彼此之间没有关系,因此需要在结帐前清理工作区。如果它没有假设这一点,并且你在两个完全不同的项目之间进行了更改,则可能会出现可能导致问题的相互矛盾的事情。

例如,让我们说repo1有一个文件'dirA / myincludes'。 repo2有'dirB / myincludes'。如果作业从repo1更改为repo2,并且Jenkins没有清理repo,则可能在两个不同的目录中包含myincludes的冲突副本:'dirA / myincludes'和'dirB / myincludes'。使用哪种方法可能会有问题,具体取决于您的构建方式,并可能产生截然不同的结果。

现在,如果您的目标是能够同时构建branch4和branch5,那么为什么不为每个创建一个构建作业。为了便于执行此操作,当您创建新作业时,其中一个选项是将作业创建为现有作业的副本。

答案 1 :(得分:1)

    Jenversion 中的

    颠覆插件 1.51 在从svn服务器更新或结帐时工作正常。

  1. 它还支持切换分支,当它找到其他分支网址然后是现有网址但先决条件是本地副本不应该是'已锁定'状态否则它会清理所有东西并重新结账。

答案 2 :(得分:0)

正如您已经发现的那样,问题JENKINS-2556正是您所寻找的。它是在2013年5月20日发布的1.48版的subversion插件版本中实现的。假设你安装了正确的插件版本。仔细检查您的结帐策略。应该更新它才能工作。