代码之家  ›  专栏  ›  技术社区  ›  KPexEA

是否有针对不同操作系统检查开源应用程序的构建场?

  •  19
  • KPexEA  · 技术社区  · 16 年前

    我有一个开源的应用程序,我在Windows、Linux和Macintosh上工作(它是C++的,用GCC构建)。我只在几种不同的Linux版本上测试过它,所以我不知道它是否在所有不同的Linux版本上编译和运行。有没有一个地方可以让我上传我的代码,并让它在一堆不同的系统上进行测试,比如其他Linux风格的系统,比如Solaris、FreeBSD和其他操作系统?

    如果我可以让它直接连接到我的SVN存储库,获取最新的代码,然后通过电子邮件将生成的任何编译错误和它遇到的操作系统问题发回给我,那就太好了。

    我很高兴知道它是编译的,因为它是一个基于GUI的应用程序,所以我不希望它实际运行和测试。

    4 回复  |  直到 16 年前
        1
  •  11
  •   Community CDub    8 年前

    有几个选项,但似乎没有很多(任何?)像这样的免费服务,考虑到它需要的工作量和资源,这并不奇怪。sourceforge曾经像您描述的那样运行一个编译场,但在一年左右以前它就关闭了。您可以查看以下内容。如果你倾向于为一项服务付费或自己滚动,那么这些链接中的一些可能是有用的。如果您只是在寻找一个涵盖多个平台的免费开源编译/构建场,那么看起来您很不走运。

    OpenSuse Build Service

    提到的 Ted 首先,值得重复——目前仅适用于Linux,但确实支持许多发行版。

    GCC Compile Farm

    主要致力于测试gcc的构建,但也托管了一些其他项目,如colinux、btg bittorrent客户端、clamav和其他项目。虽然我不知道编译场中有哪些操作系统(至少包含基于页面注释的Linux和Solaris),但这可能是您可以利用的。

    BuildLocker

    Bu建dLoCKER是一个基于Web的Java和.NET项目的持续集成解决方案。buildLocker是一个虚拟专用的构建机器,它可以帮助团队在开发周期的早期发现错误,从而节省时间和金钱。BuildLocker管理ProjectLocker源代码控制存储库中源代码的计划自动生成。只需签入源代码,计划的构建就可以验证代码的完整性。BuildLocker甚至可以运行自动测试,并且可以在测试失败时提醒您。

    CruiseControl

    CruiseControl是一个持续构建过程的框架。它包括但不限于电子邮件通知插件、Ant和各种源代码管理工具。提供了一个Web界面来查看当前和以前版本的详细信息。

    有趣的是,根据播客,CruiseControl实际上也被StackOverflow的开发团队用于自动构建测试。

    Hudson

    Hudson监视重复作业的执行,例如构建软件项目或cron运行的作业。

    RunCodeRun

    在另一个链接问题中提到,仅支持Ruby项目,目前处于私有测试阶段。但是,如果您的项目是Ruby的,那么关注runcoderun可能是值得的。

    CI Feature Matrix

    有许多连续集成系统可用。本页试图尽可能多地对它们进行公正的比较。

        2
  •  1
  •   T Percival Daniel Gehriger    16 年前

    看看 OpenSuSE build service 它包括相当广泛的Linux发行版(不仅仅是SUSE/OpenSUSE)。

        3
  •  1
  •   none    16 年前

    从软件的角度来看,还有 buildbot ( sourceforge project site ,可用于设置您自己的构建/持续集成服务器。 建议并考虑将其用于GCC开发(如上文发布的GCC编译场wiki页面所述)。

        4
  •  0
  •   Slava Imeshev    15 年前

    如果您打算用您的开源产品进行商业化,您可以考虑使用我们的parabuild。它允许你 run a set of builds on multiple platforms and machines in parallel . 只有当所有平台特定的构建成功时,构建才会成功。