在Jenkins上执行Maven发布失败,因为SVN文件被锁定。

3

我在jenkins上有一个多模块maven构建任务。Jenkins运行在win2008服务器上。执行工作的jenkins-slave也在win2008服务器上运行。 在jenkins上执行maven发布失败,因为svn文件被锁定:

The svn command failed.
Command output:
svn: E155004: Commit failed (details follow):
svn: E155004: Working copy 'C:\Users\jenkins\workspace\MavenDemoDeploy' locked.
svn: E155004: 'C:\Users\jenkins\workspace\MavenDemoDeploy' is already locked.

如果我在命令行上进行初始检查和maven发布构建,一切正常。 如果我在Jenkins上为单个maven模块进行发布构建,一切正常。
更新: 我配置了release-plugin使用svnkit,因此它是与Jenkins用于检出的相同客户端。我还配置了preparationGoals以进行“svn cleanup”(清理工作),但没有成功。

1
你的从机上有防病毒软件吗? - khmarbaise
2个回答

3

我已经找到了一个解决方法。我已经为发布插件配置了commitByProject属性。这解决了问题。 但据我看来,Jenkins仍然存在一个bug,它应该在没有此参数的情况下正常工作。


0

如果工作副本被锁定,这意味着另一个客户端正在并行访问工作副本,这是不可能的。在您的情况下,我假设您的从属正在访问工作副本。


我认为从事全部工作的是从属者。检出,运行发布插件。对于单模块项目来说,它是有效的。 - Michael K.
是的,我有防病毒软件,但是提到的文件夹已经被排除在外了。 - Michael K.
该文件夹的 SVN 属性显示没有锁定。 - Michael K.
这些属性并不相关。如果一个工作副本被并行访问,你会看到 svn status -R 命令会打印出一个 L,但这只能在很短的时间内看到。 - khmarbaise
我配置了release-plugin来使用svnkit,这样它就是与jenkins用于检出相同的客户端。现在我得到了以下错误: svn: E155000:提交失败(详细信息如下): svn: E155000:'C:\Users\myuser\workspace\MavenDemoDeploy\Module1'中没有写入锁定。我尝试了使用属性waitBeforeTagging但并没有成功。我还尝试了使用useEditMode也没有任何效果。 - Michael K.

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接