2009-12-03 36 views
3

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

似乎一直是一个插件在http://www.sorn.net/projects/bazaar-ccnet要做到这一点,但此链接不再起作用,我似乎无法找到该插件其他地方

我打算用外部电源控制的类型,但集市似乎在传递给它的GETMODS参数时bork

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

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

我的问题是

  • 你运行这两个组合, 如果是的话,你怎么办呢?
  • 如果你不一起运行,你有什么建议在 好方法?
  • 是否有任何文档或者我可以用来编写一个bazaar插件的好起点?
  • 我是一个试图使用CruiseControl.Net的白痴吗?我应该使用别的东西吗?
+0

我发现了另一个地方,插件可以使用: https://code.launchpad.net/~sandy-dunlop/bazaar-ccnet/trunk 但在VS.NET 2010的失败编译,所以我修复了源代码。 – TridenT 2011-08-18 12:59:19

+0

...(继续)我尝试了CC.NET,它完美的工作!如果需要,我可以发送任何人的DLL。 – TridenT 2011-08-18 14:17:07

回答

5

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

+0

真的很好的答案 - 绝对值得的点。我已经实施了一个解决方案,其中义务工作作为可执行作业运行,所以我不知道我是否会围绕实施CC Net代码... – 2009-12-11 09:44:29

+0

@Alex,关于其他CI支持Bazaar: Hudson声称支持Bazaar。我们正在尝试它,不知道现在是什么阶段。 – 2010-04-01 13:28:23

0

我对巴扎的了解不多,但我对克鲁斯控制知之甚少。如果Bazaar有一个命令行界面,你可以编写一个MSBuild脚本来挂钩它,然后再挂钩到CCNet。

我没有看太多的CCNet插件,但我会想象它们只是程序命令行界面的包装。

+0

对不起伯特,但你还没有回答我的任何问题 – 2009-12-07 12:26:02