为了缓解我们的发布测试,我们正在寻找一个系统自动建立和(单位)测试在各种体系结构的我们的软件项目。 我们的约束是:
- 建立该代码是写在几种语言,包括Python,Java和C.
- 我们有几个不同的部署架构。
- 我们有多个项目,这是我们想建立独立测试。
- 我们的源代码控制系统是颠覆,该系统应与集成。
- 该解决方案应该最好是开源的。
我们已经看了:
你会推荐什么? 你用什么?
你看着哈德森 ? 我已经有很多成功的,即使它有点以Java为中心的工具用它在.NET项目。 它支持颠覆,有一个活跃和多样化的社区插件,这使得它有很多不同的语言的工作。 其开源和它运行在许多platforms.I发现它是比较容易配置和管理。
由于移动从buildbot离开我已经使用CruiseControl的,我一直喜欢它到一定程度。 我目前的项目包括大厦C ++和红宝石(有一些C扩展),以多种架构和和唯一的抱怨与是,大部分的功能都需要蚂蚁。 和CC的当前单一实例正在建设大约40个不同的项目..构建我们也由运行单元测试,一些功能测试的阶段,让代码覆盖率,使那些报告,更新包数据库,IRC集成,软件packaqge创建和存储库更新(Debian的)
唯一不满的是,大多数的发烧友功能将要求(ATLEAST当CC构建循环内)构建与蚂蚁发生。
我也评估哈德森,这似乎是一定程度上比CruiseControl的更灵活,但是我个人不喜欢它的配置界面。
我在一个开发商的CruiseControl我为Urbancode谁使工作AnthillPro ,这样我就可以给那些长处说话。 我也是主办方之一CITCON所以我很熟悉,几乎在空间中的所有产品 。
CruiseControl的或哈德森都是相当不错的开源CI工具。 我觉得CC真的很容易定制和扩展,并有不少已经添加了第8年寿命的插件。 哈德森是较新的,更容易为大多数人上手; 它是死的简单,让您的使用GUI配置,同时CC需要在XML文件中混日子运行的第一个项目。 哈德森也有一个活跃的社区插件,并迅速增加新的功能。
但是这取决于复杂程度和项目的要求,你可能会发现像AnthillPro一个商业工具将是一个更好的选择。 其原因来自CC升级或哈德森AHP从公司变化到公司,但一些典型的答案,包括通过环境访问控制的功能设置自助服务部署,把多个的欲望建立/工作流一起,内置的依赖管理,神器库,或者能力数据从一堆不同的工具拉到一起与整个生命周期的基础之上。
不是每个人都需要这些功能,但谁也找不到升级是值得的钱的人。
文章来源: Language-agnostic automated build and test server for multiple projects [closed]