我们的源代码存储在Kiln/Mercurial存储库中;我们使用MSBuild来构建我们的产品,并且我们有使用MSTest(Visual Studio单元测试)的单元测试。针对Mercurial/Kiln + MSBuild + MSTest的持续集成建议
实现持续集成机器(即构建机器)有哪些解决方案。
对此的要求是:
- 一个构建应该被踢出必要时
- 实际构建,源的最新版本之前(即代码中,我们关心的库已经变化了)代码必须从我们从
- 建库中获得的构建必须建立在整个产品
- 构建必须建立所有的单元测试
- 构建必须执行所有单元测试
- 构建完成后必须发送成功/失败摘要;这必须包含关于构建本身的信息,但也包括关于哪些单元测试失败以及哪些成功的信息。
- 摘要必须包含其中的变更是在此版本尚不是在以前成功(!)建立
- 系统必须配置的,因此它可以从多个分支(/库)建设。
理想情况下,该系统可以在没有任何服务器组件的情况下在单个盒子上运行(我们的产品并不那么大)。
目前有哪些解决方案可用?他们有什么优点/缺点?从上面的列表中,可以做什么和不能做什么?
感谢
我放弃了CruiseControl for TeamCity,我的整个团队都非常满意这个变化。我们在项目中使用MSBuild脚本,在测试中使用NUnit。我们主要开发C++和C#应用程序 – T33C 2011-01-13 13:49:02