Jenkins SVN 签出borks新文件

Jenkins SVN 签出borks新文件

我正在运行一个 Jenkins CI 服务器,它会轮询一个 SVN 服务器并检出(Maven)项目并构建它。

我们最近更换了构建服务器,我重新设置了 Jenkins,用于我们手头的几个项目。现在这个新实例有一个大问题:每当新的文件已提交到 SVN 存储库,Jenkinssvn update进程将破坏这些新的文件的内容被复制。因此,如果我们的某个开发人员提交了一个A包含以下内容的新文件:

<test>
</test>

那么该文件最终会进入 Jenkins 工作区,如下所示:

<test>
</test>
<test>
</test>

显然这很烦人。我可以通过清除工作区来解决问题,但实际上,我不想每次构建失败时都这样做。我以前从未遇到过 SVN 和/或 Jenkins 的任何问题。

造成这种行为的原因是什么?

答案1

这似乎是詹金斯的一个错误:https://issues.jenkins-ci.org/browse/JENKINS-14551

目前,处理此问题的最佳方法是通过在构建之前自动清除工作区来实现一种解决方法。但是,如果您有大量且频繁的合并,这可能不是可行的方法 - 但据我了解,他们正在努力。

答案2

我从来没有真正相信过 Jenkins 能够妥善处理工作区更改/更新,因此,按照规则,我总是选择“清除工作区”选项,并致力于优化 SVN 服务器或到 SVN 服务器的 WAN 链接,以便频繁的构建/检出周期不会破坏 SVN 服务器或互联网连接。

相关内容