4

在家里,我使用 CTRL+SHIFT+B 或 F7 或任何键序列来启动我的构建工具的构建。在工作中,这并没有完全削减它。

在我的第一份工作(实习)中,我们使用了一个名为 Visual Build 的产品,我非常喜欢它。这是我用过的最好的构建工具。这里的缺点是它不是免费的。

在我最近的工作中,我对 Ant 一无所知。现在,不幸的是,我已经深入参与了我们的构建过程,无法自拔。它可以工作,是的,但是在从 Visual 构建之后,它似乎每一步都在与我作斗争。是的,它是免费的,但我们并不是想成为一家只提供免费软件的开发公司或任何东西。

我从来没有看过make或任何其他构建工具,所以我真的不知道那里还有什么。

有没有人见过或有过使用 Visual Build 的经验?大多数情况下,我喜欢一些关键的东西:

  1. 它有一个图形用户界面
  2. 它运行任意 VBScript 而无需编译类
  3. 您可以逐步完成构建过程,或从中间的任何位置开始。

有没有免费的构建工具有这个?有什么方法可以让人们相信继续前进是值得的?现在是 2008 年。我们使用 IDE 进行开发,为什么不使用(IBE)进行构建?

编辑:我主要是在寻找我最后一个问题的答案;有没有可以免费使用的内置 GUI 的解决方案?

4

15 回答 15

4

不是很复杂,但我们使用了一组批处理文件。这很好用。

于 2008-11-26T14:49:40.723 回答
3

我们使用 FinalBuilder - 我认为它与 VisualBuild 非常相似,尽管我没有使用过后者。

它确实从命令行运行,如果需要,您可以将其与 CC.Net 集成。

于 2008-11-26T16:28:59.307 回答
2

对于 Java 项目,我们使用 Teamcity,类似于巡航控制,但您也可以进行远程运行,即您将更改发送到服务器,它会构建并进行单元测试,如果一切正常,那么您签入,非常好的构建工具并免费提供多达 20 种构建配置。

对于我们的 Visual Studio 2005 项目,包括使用 InstallShield 打包最终的 exe 和 dll 并将它们放在我们使用 Final Builder 的共享服务器上,它不是免费的,但它非常易于使用和开始使用。

我们还远程登录(从 FinalBuilder)到许多其他平台(Unix/Linux/OpenVMS),并通过在那里运行 makefile 来启动远程构建。

我们不使用连续构建,但有一个 FinalBuilder Server 可以处理这个问题,并免费提供 FinalBuilder Professional 许可证。

我们对 FinalBuilder 非常满意,它很容易上手,而且功能强大,可以解决大多数问题。

于 2008-11-26T14:53:33.617 回答
2

制作。为 KDevelop、Eclipse、Makefiles 和 Visual Studio(和 XCode)生成构建文件,它确实有效。您可以使用宏轻松扩展它,尽管编程能力相当有限。它很容易学习,并且将现有应用程序从 Visual Studio 移植到它非常容易。但是,您仅限于 C++/C 和 IIRC Fortran 代码。

KDE 现在也在使用 CMake,因此它似乎可以很好地扩展(即项目/依赖检查的生成时间还不错)。

于 2008-11-26T14:54:37.860 回答
1

我不确定这是否正是您正在寻找的,但我喜欢 CruiseControl.NET。我让它使用 MSBuild 任务构建我的项目。它没有确切的 GUI,但有一个 Web 界面可以查看您的构建结果和一个系统托盘常驻程序,它将提醒您构建状态。

于 2008-11-26T14:48:31.880 回答
1

上勾拳。免费。

UppercuT 使用 NAnt 来构建,它是非常容易使用的构建框架。

自动化构建就像 (1) 解决方案名称,(2) 源代码控制路径,(3) 大多数项目的公司名称一样简单!!!

http://code.google.com/p/uppercut/

这里有一些很好的解释:Uppercut

于 2009-05-16T19:29:12.223 回答
0

回到击键的事情上,我找到了 CTO 喜欢的Hoekey 。我自己不使用它,但作为一种为事物分配击键的方式,它非常好。

于 2008-11-26T14:56:59.803 回答
0

我对 Visual Build 一无所知,但从您的描述来看,它听起来像是与 Windows 相关联并且不能从命令行运行。

如果您正在构建 Java 软件(我假设您是因为您使用的是 Ant),那么最好有一个跨平台工具。如果您可以从命令行运行该工具,那么它是可编写脚本的,这对于自动化非常重要。

Ant 也是可扩展的并且是事实上的标准。您可能使用的许多工具(Cobertura、TestNG 等)都提供了 Ant 任务,以便它们可以轻松地与您的构建集成。

我将 Ant 用于所有 Java 项目。有些人更喜欢Maven,但我不是其中之一。Ant 远非完美(XML 语法有点笨拙),但它有很好的文档记录,非常稳定且非常简单。

如果您使用标准工具,例如 Ant 或 Maven,您将能够利用任意数量的持续集成产品。我怀疑你会发现许多与 Visual Build 一起工作的东西。

大多数 IDE 都支持 Ant,因此它们为您提供了各种 GUI,而您的 CI 服务器将为您提供用于构建的 Web 界面。

于 2008-11-26T15:00:45.477 回答
0

NAnt(Ant 的 .NET 端口)。效果很好,很容易扩展。

于 2008-11-26T15:02:11.760 回答
0

对于小型项目,我确实使用构建后脚本,并且在 7z、Nsis 和类似 CLI 工具的支持下,它为我完成了完美的工作。

于 2008-11-26T15:34:58.167 回答
0

TeamCity 和 CuriseControl 适用于任何项目,但这就是您选择 TeamCity 的原因:-

易于设置:在设置过程中,我们发现 TeamCity 更易于设置和使用,尤其是与 CruiseControl 相比。我们不需要编辑 XML 文件或大规模配置像 CruiseControl 这样的单个构建机器。

易于扩展性:TeamCity 也因其易于扩展性而脱颖而出。如果我们发现构建在队列中等待的时间过长,我们可以添加更多计算机作为代理。我们唯一的额外工作是向 TeamCity 服务器注册新计算机并安装 msbuild 和 subversion。

与 Subversion 的交互:可以检查自上次构建以来向 subversion 提交了多少和哪些更改,谁开始了构建等。

于 2008-11-26T16:20:43.037 回答
0

我非常喜欢scons来构建 C++ 文件。它非常简单,并且构建脚本是用 Python 编写的(这比一些一起破解的 DSL IMO 好得多)。

于 2008-11-26T16:24:18.647 回答
0

AntMaven是很棒的小型构建工具。

如果你想自动化构建过程,还有一些很棒的工具,比如TeamCityBamboo

于 2008-11-26T17:08:57.870 回答
0

就我个人而言,我几乎所有事情都使用 Makefile,因为它们非常简单。但在我的工作中,我不得不使用 ant。

我反对 ant 的主要问题是 XML 使它难以阅读和理解,即使使用正确的缩进也是如此。另一方面,XML 的冗长在读取别人的 ant 文件时会有所帮助,但当文件超过几十行时,它仍然会成为 PITA。

至于有一个GUI来构建......我一直觉得这是一个减号而不是一个加号。

于 2008-11-26T19:16:56.100 回答
0

Maven对我来说是最好的,因为它可以处理项目依赖项

于 2009-05-21T10:09:08.023 回答