我正在使用CruiseControl .NET和Subversion源代码控制插件来自动构建我们的项目。
有些项目会自动检查修改,但偶尔检查失败,CruiseControl .NET会以“异常”标记项目:
ThoughtWorks.CruiseControl.Core.CruiseControlException: Source control operation failed: svn: Working copy 'xxFilename' locked svn: run 'svn cleanup' to remove locks (type 'svn help cleanup' for details)
在此之后,我必须手动登录服务器并在项目再次构建之前对文件夹执行svn清理。有解决方法吗?
答案 0 :(得分:6)
新的Cruise Control.Net 1.4.4服务器在Subversion源控制块上有两个额外的属性。
请参阅CCNET Documentation - Subversion Source Control Block
cleanUp和revert属性可以满足您的需求。
答案 1 :(得分:1)
有点像kludge但是你能创建一个按需运行并进行svn清理的项目吗?
我知道你可以在Java版本的CruiseControl中使用,所以我假设你可以使用相同的w / CC.NET。
答案 2 :(得分:0)
您应该能够在项目配置中使用发布者任务。
Project Configuration Block有一个发布者任务,将在每次构建后执行。
使用executable task,您可以将当前的集成状态作为环境变量传递,这将允许您使用简单的脚本或命令来决定是否执行svn清理。
例如,您需要的只是:
if%CCNetIntegrationStatus%==“Exception”svn cleanup
免责声明:我只是真的玩过CC,这是来自文档,而不是经验。