Language agnostic 用于多个项目的语言无关自动构建和测试服务器

Language agnostic 用于多个项目的语言无关自动构建和测试服务器,language-agnostic,continuous-integration,build-automation,Language Agnostic,Continuous Integration,Build Automation,为了简化我们的发布测试,我们正在寻找一个系统来在各种体系结构上自动构建和(单元)测试我们的软件项目。我们的限制是: 要构建的代码是用几种语言编写的,包括Python、Java和C 我们有几种不同的部署体系结构 我们有多个项目,我们希望独立构建和测试 我们的源代码管理系统是Subversion,系统应该与之集成 理想情况下,解决方案应该是开源的 我们已经看到: +:在某些方面很不错,但非常以Java为中心,Python支持有限或不存在 :这几乎为我们提供了所需的所有功能,但它不支持多个项目,这对

为了简化我们的发布测试,我们正在寻找一个系统来在各种体系结构上自动构建和(单元)测试我们的软件项目。我们的限制是:

  • 要构建的代码是用几种语言编写的,包括Python、Java和C
  • 我们有几种不同的部署体系结构
  • 我们有多个项目,我们希望独立构建和测试
  • 我们的源代码管理系统是Subversion,系统应该与之集成
  • 理想情况下,解决方案应该是开源的
  • 我们已经看到:

    • +:在某些方面很不错,但非常以Java为中心,Python支持有限或不存在

    • :这几乎为我们提供了所需的所有功能,但它不支持多个项目,这对我们来说是一个破坏者


    你推荐什么?你用什么?你看过了吗?我在.Net项目中使用过它,并取得了很多成功,尽管它是一个以Java为中心的工具。它支持subversion,并且有一个活跃的、多样的插件社区,使它能够使用多种不同的语言。它是开源的,在许多平台上运行。我发现它相对容易配置和管理。

    自从离开buildbot以来,我一直在使用cruisecontrol,并且在一定程度上对它感到满意。我当前的项目包括将C++和Ruby(C扩展)构建到多个体系结构,并且只抱怨大多数功能都需要Ant。目前,cc的单个实例正在构建大约40个不同的项目。。我们的构建阶段包括运行单元测试、一些功能测试、获取代码覆盖率并生成报告、更新包数据库、irc集成、软件包创建和存储库更新(debian)

    唯一值得抱怨的是,大多数更高级的特性都要求(至少在cc构建循环中)构建是在ant上进行的

    我还对hudson进行了评估,它似乎比cruisecontrol更灵活,但我个人不喜欢它的配置界面。

    我是一名开发人员,我为Urbancode工作,负责制作,因此我可以谈谈它们的优点。我也是这个项目的组织者之一,所以我对这个项目非常熟悉

    CruiseControl或Hudson都是相当不错的开源CI工具。我发现CC真的很容易定制和扩展,而且在其8年的生命周期中添加了很多插件。对于大多数人来说,哈德逊是更新的、更容易起步的;使用GUI配置运行第一个项目非常简单,而CC需要在XML文件中进行修改。Hudson还拥有一个活跃的插件社区,并正在迅速添加新功能

    然而,根据项目的复杂性和需求,您可能会发现像AnthillPro这样的商业工具更适合。从CC或Hudson升级到AHP的原因因公司而异,但一些典型的答案包括通过环境访问控制设置自助服务部署的能力、将多个构建/工作流链接在一起的愿望、内置依赖项管理、工件存储库、,或者在整个生命周期中执行和构建的能力


    不是每个人都需要这些功能,但是那些确实觉得升级值得的人。

    为什么不也看看。

    看看。Perl对我们来说很有吸引力。

    Perl是否符合您对“构建和测试服务器”的定义?Perl?我不太明白。你能详细说明一下吗?这是一个建议,你可能不得不把自己的构建系统包装在一个不太幽默的尝试中。Buildbot确实支持多个项目。我有一个为arm&x86构建linux nkernel模块的安装程序,在同一架构中为linux构建用户空间应用程序,windows驱动程序(所有这些都是用c编写的)和一个用delphi编写的windows tasktray应用程序。@rasjani:真的吗?那很有趣。你是如何做到这一点的?您是否必须编写大量的构建代码来管理多个项目?我已经对其进行了原型设计,似乎它可以满足需要。接受这个答案,因为似乎没有太多其他好的选择…附言。离开buildbot的原因也是配置“非常灵活”,以至于初始设置实际上需要相当多的时间。到目前为止,我仍然认为这是更大项目的最佳选择。Rasjani,将这些更为奇特的CC功能移植到其他建筑商是相当容易的。在cruisecontrol用户邮件列表上发布相关信息,也许我们可以为您添加这些信息。杰弗里:我在邮件列表上很活跃,我已经提交了我的建议。但总的感觉是,由于我使用了“非正统”设置,例如,我没有使用ant,我的大部分东西都被忽略了。但是也就是说,我对这个软件很满意,我可以修补我的设置,让它满足我的需要,所以我仍然是一个快乐的露营者=)如果你有超过20份工作和超过20名员工使用这个工具,你就需要付费。Jenkins是免费的,没有限制如果你的时间有价值,那么Jenkins肯定有很多限制。看看这个链接,它显示了一个奇怪的东方页面。@BlaShadow谢谢,我已经更新了链接。