3

我正在使用 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 清理,然后才能再次构建项目。有解决方法吗?

4

3 回答 3

6

新的 Cruise Control.Net 1.4.4 服务器在 Subversion 源代码控制块上有两个附加属性。

请参阅CCNET 文档 - Subversion 源代码控制块

cleanUp 和 revert 属性可以满足您的需求。

于 2009-06-08T13:33:36.780 回答
1

有点杂乱无章,但你能创建一个按需运行并进行 svn 清理的项目吗?

我知道您可以在 Java 版本的 CruiseControl 中使用,所以我假设您可以使用 CC.NET 执行相同的操作。

于 2009-01-12T17:37:03.557 回答
0

您应该能够在项目配置中使用发布者任务。

项目配置块有一个发布者任务,将在每次构建后执行。

使用可执行任务,您可以将当前集成状态作为环境变量传递,这将允许您使用简单的脚本或命令来决定是否执行 svn cleanup。

例如,您只需要:
if %CCNetIntegrationStatus% == "Exception" svn cleanup

免责声明:我只真正玩过 CC,这是来自文档,而不是经验。

于 2009-01-24T07:06:19.567 回答