1

我正在使用詹金斯进行构建过程。我已经使用 svn url test.svn.com/branch/branch4创建了一项工作, 现在我想将此工作副本切换到test.svn.com/branch/branch5。在詹金斯怎么可能。

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

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

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

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

我也浏览了以下网址。

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

4

3 回答 3

2

当您更改作业的存储库时,Jenkins 会做出最安全的假设,即存储库彼此没有关系,因此需要在结帐前清理工作区。如果它没有假设这一点,并且您在两个完全不同的项目之间进行了更改,那么可能会留下冲突的东西,这可能会导致问题。

例如,假设 repo1 有一个文件 'dirA/myincludes'。repo2 有'dirB/myincludes'。如果作业从 repo1 更改为 repo2,并且 Jenkins 没有清理 repo,则可能在两个不同的目录中存在冲突的 myincludes 副本:“dirA/myincludes”和“dirB/myincludes”。根据您的构建方式,使用哪个可能会产生问题,并且可能会产生截然不同的结果。

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

于 2013-09-27T12:41:52.933 回答
1
  1. Jenkins中的subversion插件1.51适用于从 svn 服务器更新或签出。

  2. 它还支持在找到其他分支 URL 然后是现有 URL 时切换分支,但前提条件是本地副本不应处于“锁定”状态,否则它将清除所有内容并进行新的结帐。

于 2014-01-17T05:05:36.467 回答
0

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

于 2013-09-27T14:58:12.750 回答