3

我想在我的公司设置 CruiseControl.Net。我们目前有几个 .net 解决方案存储在 Bazaar 存储库中,我想使用 MSBuild 来构建每个解决方案。这似乎没有太大争议,但我看不到将 CruiseControl.Net 绑定到 Bazaar 的简单方法。

在http://www.sorn.net/projects/bazaar-ccnet似乎有一个插件可以做到这一点, 但这个链接不再有效,我似乎无法在其他任何地方找到该插件

我打算使用外部源代码控制类型,但集市似乎对传递给它的 GETMODS 参数感到厌烦

我现在的想法是创建一个单独的项目以使用 Exec 任务从集市中提取修改,然后创建另一个项目以在该目录上运行 FileSystem 源代码控制检查。我相当确定我可以让它工作,但它似乎有点hacky。

我不介意为 CruiseControl.Net 编写一个新的 Bazaar 插件,但我找不到从哪里开始。

我的问题是

  • 你是否将这两者结合起来运行,如果是这样,你是怎么做的?
  • 如果你不一起运行这些,你对一个好的方法有什么建议吗?
  • 有没有我可以用来编写集市插件的文档或好的起点?
  • 我是一个尝试使用 CruiseControl.Net 的白痴吗?我应该使用别的东西吗?
4

3 回答 3

5

如果我是你,我会编写自己的插件。您将在 CC.NET 存储库的 project/core/sourcecontrol 下找到当前实施的源代码控制。你需要一些东西。一个是主类,它将继承自 ProcessSourceControl 并且应该基于当前的源代码控制提供程序。这个初始类将实现诸如 GetModifications、LabelSourceControl 和 GetSource 之类的东西。然后,您将需要一些帮助类,它们是 historyparser 类和 urlbuilder 类。这些特定于每个源代码控制提供程序,并负责解析来自 getHistory 命令或您的任何命令的返回。并将所有必要的部分放入修改对象中。url 构建器从修改对象中获取信息并创建 url,如果您的源代码管理支持,它将在您的 Web 浏览器中显示特定的签入。它对你来说真的应该很容易,它是 CC.NET 最好的部分之一,因为它们不提供的任何东西都可以让你自己轻松编写。我不知道有任何其他支持 Bazaar 的持续集成,因此您最好还是继续使用 CC.NET,因为它具有自定义功能。

于 2009-12-07T19:49:08.363 回答
1

我刚刚基于 Sandy 的项目创建了一个新项目。

CruiseControl.NET 的 Bazaar 插件
http://code.google.com/p/bzr-ccnet/

于 2011-10-01T08:50:59.320 回答
0

我对 Bazaar 了解不多,但我对 Cruise Control 了解不少。如果 Bazaar 有一个命令行界面,您可以编写一个 MSBuild 脚本来连接它,然后再将它连接到 CCNet。

我没有过多地研究 CCNet 插件,但我想它们只是程序命令行界面的包装器。

于 2009-12-03T11:06:47.770 回答