Hudson工作区在建筑时被锁定

nik*_*tsa 3 svn hudson polling jenkins

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

我正在使用Hudson ver.1.395.1SVN 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'
Run Code Online (Sandbox Code Playgroud)

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

在我看来,轮询是锁定Hudson工作区,更新操作是找到锁定的工作区.

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

谢谢.

nik*_*tsa 5

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

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

结果发现,Hudson的两个实例正在机器上运行.因此,有一个实例是获取并持有锁,使另一个实际上无法进行失败.

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

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