寻找强大的构建管理系统

发布于 2024-07-09 05:26:13 字数 613 浏览 6 评论 0原文

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

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

我正在寻找一种产品,或一套产品,或一堆不相关的产品,它们将使我能够执行以下操作:

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

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

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

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

My team works on a Medium sized product which takes about 2 hours to build on a single dual-core machine.
As part of an effort to improve productivity I am looking for alternatives to improve our build process.

Currently we build C++ code and .NET code using VS2005 solutions, we also have some legacy code built using makefiles and we pack the products using installshield. We also have unit tests written in UnitTest++, Nunit, CPPUnit and some tests that we wrote ourselves without any testing framework. Everything is coordinated by a set of Perl scripts that we wrote.

I am looking for a product, or a suite of products, or a bunch of non-related products that will allow me to do the following:

  1. Improve building time. I tried Incredibuild for parallelizing the build with some success. I will be happy to find more alternatives (cheaper ones???)

  2. Improve the build process definition. I need something to replace our complicated perl scripts with something that will allow me to define the build process easily.

  3. Improve our ability to discover problems in the build (maybe a web interface for looking at build outputs, highlight compilation errors, gather statistics on build times and build failures etc.

  4. Any other nice features that can help us improve our build management.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(7

渡你暖光 2024-07-16 05:26:13

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

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

Consider NAnt: http://nant.sourceforge.net/, CruiseControl: http://en.wikipedia.org/wiki/CruiseControl, and a faster build system. there are some .NET related links at: http://confluence.public.thoughtworks.org/dashboard.action

Edit: Gradle is probably the best choice now.

你是我的挚爱i 2024-07-16 05:26:13

尝试 FinalBuilder 它是非常全面的构建管理工具

Try FinalBuilder it's very compreshesnsive build managment tool

二货你真萌 2024-07-16 05:26:13

Sakin,

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

一种工具是构建管理系统,它可以安排构建、显示输出、收集统计数据等。FinalBuilder、CruiseControl 和 AnthillPro 在那个空间里玩。

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

你应该能够随意混合搭配。 我们的客户将 Anthill 与 Incredibuild、gmake 和许多其他构建加速工具结合使用。

Sakin,

I think you may be looking for two different tools - although occassionally you will find them packaged together.

One tool would be the build management system that schedules the builds, shows you the outputs, gathers statistics, etc. Tools like FinalBuilder, CruiseControl and AnthillPro play in that space.

The other tool would be the one that tears apart your build into parallelizeable pieces and speeds the build. Incredibuild is pretty good at what they do in that respect and certainly cheaper than some alternatives. There are free options built into some of the open source tools like gmake, but my understanding is that you'd need to do some pretty serious work to get that to work with solution files.

You should be able to mix and match at will. We have customers using Anthill with Incredibuild, gmake, and a number of other build speeding tools.

灯下孤影 2024-07-16 05:26:13

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

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

I used Automated QA's Automated Build Studio a few years ago at a previous job and it was pretty good and fairly cheap. I haven't used it since then, so I'm just recommending you look at it.

If you have an MSDN subscription you should look at TFS. TFS Build is pretty robust and is integrated into Visual Studio and works hand in hand with Team System/TFS Source Control (you didn't say what source control you're using).

甜味拾荒者 2024-07-16 05:26:13

我们有一个与您类似的流程,尽管它不是 VS 项目。 直到最近,我们还使用 Perl 脚本和 Tinderbox 来构建并跟踪构建和单元测试的状态。 我们最近跳转到 Hudson,看起来效果很好。

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

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

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

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

We have a process similar to yours, although it's not a VS project. Up until recently we used perl scripts and tinderbox to build and track the status of the builds and unit tests. We've recently made the jump over to Hudson and it seems to work great.

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

Don't be put off by the java label, our projects are c/c++ and they work fine. Hudson can execute shell commands, so we can build our projects (makefiles) and run our unit tests fine. Right now we have it set on a timed build, which when it finishes (if successfully) kicks all our unit tests off in parallel.

It's a great system and worth checking out if it's what you're looking for. It logs console ouput and has tons of great addons (logs and charts warning counts, disk space used size, build on CM change) and a nice web-interface for the team to watch.

Oh yea it's free..

海风掠过北极光 2024-07-16 05:26:13

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

hudson 是有限的工具,除了它可以做更多的事情并且有更好的构建核心架构之外,

使用 anthillpro 和 incredibuild 的建议是一个很好的选择!

I wouldnt advise HUDSON .. there is unnecessary too much bragging about it ..

hudson is limited tools other than it can do much more and have a better bui8lt core architecture

The suggestion to go with anthillpro and incredibuild is a good one !!

帥小哥 2024-07-16 05:26:13

关于“Hudson 有广泛的插件..等等等等”,它确实是一个骗局..

hudson 无法实现它的是核心架构,它作为一个插件实现这一点

令人惊讶的是,如果我必须屏蔽密码或任何我不能的凭据无需“密码屏蔽”插件即可完成此操作..

理想情况下,如果系统是“企业可扩展”的,则应将此屏蔽内置到其核心中

这只是一个示例..我对这些工具有清晰的分析,但无法在此处上传文档

移动到另一边的

Hudson “看起来和感觉”“漂亮又可爱”并且重量相对较轻

With regard to the "Hudson has extensive plugins .. blah blah blah " its really is a sham ..

What ever hudson CANNOT achieve it is core architecture it does so as a plugin

Surprisingly if i have to mask a passsword or any credential i cannot do it without the "password masking" plugin ..

Ideally if a system is "enterprise scalable" this masking should be built into it core

This just one example .. i have a clear analysis for these tools but cannot upload a document here

Moving to the other side

Hudson "looks and feels" "nice & cute" and is relatively light weight

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文