【问题标题】:Looking for a strong Build Management system寻找强大的构建管理系统
【发布时间】:2015-07-02 03:15:04
【问题描述】:

我的团队正在开发一款中型产品,在单台双核机器上构建大约需要 2 小时。 为了提高生产力,我正在寻找替代方案来改进我们的构建过程。

目前我们使用 VS2005 解决方案构建 C++ 代码和 .NET 代码,我们也有一些使用 makefile 构建的遗留代码,我们使用 installshield 打包产品。我们还有用 UnitTest++、Nunit、CPPUnit 编写的单元测试,以及一些我们自己编写的测试,没有任何测试框架。一切都由我们编写的一组 Perl 脚本协调。

我正在寻找一种产品、一套产品或一堆不相关的产品,它们可以让我执行以下操作:

  1. 缩短构建时间。我尝试使用 Incredibuild 并行化构建并取得了一些成功。我很乐意找到更多替代品(更便宜的???)

  2. 改进构建过程定义。我需要一些东西来替换我们复杂的 perl 脚本,让我能够轻松定义构建过程。

  3. 提高我们在构建中发现问题的能力(可能是一个用于查看构建输出、突出显示编译错误、收集构建时间和构建失败的统计数据等的 Web 界面。

  4. 任何其他可以帮助我们改进构建管理的好功能。

【问题讨论】:

    标签: build-process build-automation


    【解决方案1】:

    考虑 NAnt:http://nant.sourceforge.net/、CruiseControl:http://en.wikipedia.org/wiki/CruiseControl,以及更快的构建系统。有一些 .NET 相关的链接在:http://confluence.public.thoughtworks.org/dashboard.action

    编辑:Gradle 可能是现在最好的选择。

    【讨论】:

      【解决方案2】:

      试试FinalBuilder ,它是一个非常全面的构建管理工具

      【讨论】:

        【解决方案3】:

        萨金,

        我认为您可能正在寻找两种不同的工具 - 尽管有时您会发现它们打包在一起。

        一个工具是构建管理系统,它可以安排构建、显示输出、收集统计数据等。FinalBuilder、CruiseControl 和AnthillPro 等工具在该领域发挥作用。

        另一种工具是将构建拆分为可并行化的部分并加快构建速度的工具。 Incredibuild 在这方面做得很好,而且肯定比一些替代品便宜。一些开源工具(如 gmake)内置了免费选项,但我的理解是,您需要做一些非常认真的工作才能使其与解决方案文件一起使用。

        你应该可以随意混搭。我们有客户将 Anthill 与 Incredibuild、gmake 和许多其他构建加速工具一起使用。

        【讨论】:

          【解决方案4】:

          几年前我在以前的工作中使用过Automated QA's Automated Build Studio,它非常好而且相当便宜。从那以后我就没用过,所以我只是建议你看看它。

          如果您订阅了 MSDN,则应该查看 TFS。 TFS Build 非常健壮,并集成到 Visual Studio 中,并与 Team System/TFS 源代码控制协同工作(您没有说明您使用的是什么源代码控制)。

          【讨论】:

            【解决方案5】:

            我们有一个与您类似的过程,虽然它不是一个 VS 项目。直到最近,我们还使用 perl 脚本和 tinderbox 来构建和跟踪构建和单元测试的状态。我们最近跳到了 Hudson,它似乎工作得很好。

            https://hudson.dev.java.net/

            不要被 java 标签吓到,我们的项目是 c/c++ 并且运行良好。 Hudson 可以执行 shell 命令,因此我们可以构建我们的项目(makefile)并正常运行我们的单元测试。现在我们将它设置为定时构建,当它完成时(如果成功)会并行启动我们所有的单元测试。

            这是一个很棒的系统,如果它是您正在寻找的东西,值得一试。它记录控制台输出并拥有大量出色的插件(日志和图表警告计数、磁盘空间已用大小、基于 CM 更改的构建)和一个不错的 Web 界面供团队观看。

            哦,是的,它是免费的..

            【讨论】:

            • 我们也将 Hudson 用于 C/C++ 项目,这太棒了!基于 Web 的配置以及广泛的插件支持使您可以轻松锁定当前的构建设置。
            【解决方案6】:

            我不会建议 HUDSON .. 没有必要吹嘘它..

            hudson 是有限的工具,除了它可以做更多的事情并拥有更好的内置核心架构

            使用 anthillpro 和 incredibuild 的建议很好!!

            【讨论】:

              【解决方案7】:

              关于“Hudson 有广泛的插件.. blah blah blah”这真的是假的..

              hudson 无法实现的是它作为插件实现的核心架构

              令人惊讶的是,如果我必须屏蔽密码或任何凭据,如果没有“密码屏蔽”插件,我将无法做到这一点..

              理想情况下,如果一个系统是“企业可扩展的”,那么这个掩码应该内置在它的核心中

              这只是一个例子..我对这些工具有一个清晰的分析,但不能在这里上传文档

              移到另一边

              哈德森“外观和感觉”“漂亮可爱”并且重量相对较轻

              【讨论】:

                猜你喜欢
                • 2011-01-01
                • 2011-05-30
                • 1970-01-01
                • 2016-11-17
                • 1970-01-01
                • 2010-11-30
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                相关资源
                最近更新 更多