Hudson工作区在建造时被锁定

时间:2013-01-17 14:35:25

标签: svn jenkins hudson polling

我最近在CI环境中遇到了问题。

我正在使用 Hudson ver。 1.395.1 SVN ver 1.4.2。

我的Hudson不断轮询SVN进行任何更改,如果有的话,它会启动构建。

最近此操作失败并显示以下消息

Updating https://MY_SVN_URL/trunk
Workspace appear to be locked, so getting a fresh workspace
Checking out https:/MY_SVN_URL/trunk
ERROR: Failed to check out https://MY_SVN_URL/trunk
org.tmatesoft.svn.core.SVNException: svn: Working copy '/Hudson/workspace/MY_PROJECT_NAME' locked; try performing 'cleanup'

必须注意,这只发生在我提交更改并且Hudson尝试触发构建(通过轮询SVN)时。当我手动触发构建时,问题不会发生。

在我看来,轮询正在锁定Hudson工作区,更新操作正在查找工作区已锁定。

以前有没有人遇到过同样的情况?任何解决方案吗?

感谢。

2 个答案:

答案 0 :(得分:5)

我会回答我自己的问题,因为这可能对其他人有用。

这个的根本原因实际上非常简单。 Hudson运行的服务器在此事件发生前3-4天重新启动。

据了解,Hudson的两个实例正在机器上运行。因此,有一个例子是获取并持有锁定,使另一个实际上无法进行失败。

有趣的是,尽管服务器在3天前重新启动,但问题出现了。

所以只是为了进一步参考,如果有人遇到过这种问题,最好先检查上面这个简单的事情,然后再像我一样花太多时间。

答案 1 :(得分:2)

我想说在我启动它之后中止一个动作(例如:添加/更改文件的项目构建......)或者中止Hudson作业时,我经常会发生这种情况。

如果导致中止,您可以在工作区级别验证文件夹 .svn ,尝试使用还原,这样您就会收到以下消息:

working copy <project_name> locked

所以我们可以说2个问题是相关的(Hudson级别的问题,另一个发送SVN级别)。

要弄明白,如果你使用TortoiseSVN:

  1. 右键单击签出文件夹
  2. TortoiseSVN
  3. 清理
  4. 检查以下选项:清理工作副本状态+包括外部