我们的源代码存储在Kiln/Mercurial存储库中; 我们使用MSBuild来构建我们的产品,并且我们有使用MSTest(Visual Studio单元测试)的单元测试.
实现连续集成机器(即构建机器)存在哪些解决方案.
对此的要求是:
- 必要时应该建立一个构建(即代码在我们关心的存储库中发生了变化)
- 在实际构建之前,必须从我们构建的存储库中获取最新版本的源代码
- 构建必须构建整个产品
- 构建必须构建所有单元测试
- 构建必须执行所有单元测试
- 构建完成后必须发送成功/失败的摘要; 这必须包括有关构建本身的信息,还包括哪些单元测试失败以及哪些成功.
- 摘要必须包含此构建中尚未包含在先前成功(!)构建中的更改集
- 系统必须是可配置的,以便它可以从多个分支(/ Repositories)构建.
理想情况下,这个系统可以在一个盒子上运行(我们的产品不是那么大),没有任何服务器组件.
目前有哪些解决方案?他们的利弊是什么?从上面的列表中,可以做什么和不能做什么?
谢谢