【发布时间】:2009-02-04 08:10:33
【问题描述】:
我们使用cruise control .net 在 Delphi 2006 应用程序中进行持续集成。我们使用类似于here 描述的设置。
问题:
1) 用于实现构建脚本的最佳脚本工具/语言是什么?
(注意:D2006 与 MSBuild 不兼容)
【问题讨论】:
标签: delphi cruisecontrol.net nant
我们使用cruise control .net 在 Delphi 2006 应用程序中进行持续集成。我们使用类似于here 描述的设置。
问题:
1) 用于实现构建脚本的最佳脚本工具/语言是什么?
(注意:D2006 与 MSBuild 不兼容)
【问题讨论】:
标签: delphi cruisecontrol.net nant
我从未使用过 WANT,但 NANT 可以在任何 Delphi 版本中正常工作。我认为 NANT 也得到了更好的支持,并且具有更多您可以使用的功能,因为它的使用范围比 WANT 更广泛。
顺便说一句:如果需要,您仍然可以使用 MSBuild 并调用 dcc32。这样,它与 NANT 相同。如果您迁移到 Delphi 2007,则 MSBuild 比 NANT 具有更大的优势,因为 Delphi 项目采用 MSBuild 格式。但即便如此,您仍然可以使用 NANT 作为构建脚本。它只会调用 MSBuild 进行单独的构建。
另一个值得一试的构建工具是FinalBuilder。它非常完整,并且知道Delphi。它应该,因为它是使用 Delphi 构建的。他们还提供了类似于 CruiseControl 的持续集成解决方案。缺点是 FinalBuilder 不是免费的。
【讨论】:
就在几天前,我设法实现了一个复杂的 NANT 脚本来编译我们的项目(它使用 d7-2009 编译器、VC++ 2005 和 subversion)。与NantGui 一起使用时,它的设置和工作非常容易。与MSBuild 不同,您不必在系统中安装特定版本的.NET。
关于使用 dcc32 编译项目,请查看delphi3000 文章
【讨论】:
我使用 XSL 自动生成 Cruisecontrol 项目文件。我们有一个大型项目,其中包含许多已经使用通用 Ant 脚本的 Delphi 应用程序。因此使用脚本生成 CC 项目文件是一个自然的解决方案。
另一个与 Ant(和许多其他)一起使用的持续集成解决方案是 TeamCity。它最多可以免费使用一定数量的构建代理/项目。用户界面很棒。
多年来,我成功地将 Ant 用于各种 Delphi 项目,从小型组件库到多项目多层应用程序。
【讨论】: