Mercurial/回转窑和#x2B连续集成的建议;MSBuild+;MSTest
我们的源代码存储在kill/Mercurial存储库中;我们使用MSBuild来构建我们的产品,并且我们有使用MSTest(VisualStudio单元测试)的单元测试 存在哪些解决方案来实现持续集成机器(即构建机器) 这方面的要求是:Mercurial/回转窑和#x2B连续集成的建议;MSBuild+;MSTest,msbuild,mercurial,build,continuous-integration,mstest,Msbuild,Mercurial,Build,Continuous Integration,Mstest,我们的源代码存储在kill/Mercurial存储库中;我们使用MSBuild来构建我们的产品,并且我们有使用MSTest(VisualStudio单元测试)的单元测试 存在哪些解决方案来实现持续集成机器(即构建机器) 这方面的要求是: 必要时应停止构建(即,我们关心的存储库中的代码已更改) 在实际构建之前,必须从构建源代码的存储库中获取源代码的最新版本 构建必须构建整个产品 构建必须构建所有单元测试 构建必须执行所有单元测试 构建完成后,必须发送成功/失败摘要;这必须包括关于构建本身的信息,
- 必要时应停止构建(即,我们关心的存储库中的代码已更改)
- 在实际构建之前,必须从构建源代码的存储库中获取源代码的最新版本
- 构建必须构建整个产品
- 构建必须构建所有单元测试
- 构建必须执行所有单元测试
- 构建完成后,必须发送成功/失败摘要;这必须包括关于构建本身的信息,还包括关于哪些单元测试失败以及哪些单元测试成功的信息
- 摘要必须包含此生成中尚未包含在上一个成功(!)生成中的更改集
- 系统必须是可配置的,以便可以从多个分支(/存储库)构建
我总是喜欢它(并且已经贡献了一些代码)。在任何操作系统上安装和运行都相当容易,并且可以完成您所说的简单任务,如果您需要,还可以非常灵活
您可能会发现缺少的是其他更商业化的CI服务器(尤其是Enterprise-y框架)附带的包括日志刮取器和/或报告生成器的电池它的扩展性也很好,Mozilla和Chromium都使用它。您所描述的是CI工具的基础,所以每个CI工具都应该是正常的。
我使用的是巡航控制.NET,但它有Mercurial的漏洞,乍一看不是很简单。不过,我对此感到高兴。我脑海中出现的其他工具有哈德逊,团队建设(来自TFS)和团队城市 我没有尝试过其他工具,但您可以在这里看到优点/缺点:
- 哈德逊vs.CC.net,以及
EDIT²:即将发布的1.6版ccnet(本周对主干进行了更改)中的Mercurial Bug似乎已经修复。我放弃了TeamCity的CruiseControl,我的整个团队都对这一更改感到非常满意。我们在项目中使用MSBuild脚本,在测试中使用NUnit脚本。我们主要开发C++和C语言应用程序。