2010-02-24 40 views
4

在我的工作中,我们正在寻找一个自动构建工具。我们搜索了很多,但有很多可能性,我们不确定哪个工具是最好的选择,说实话。Delphi + Oracle的自动化构建

我们甚至不确定是否有符合我们需求的产品。它应该有尽可能多的从以下特点:

  1. 整合与颠覆,这意味着它应该能够做到既更新和提交。
  2. 不同的工具或能力与一个集成,并能够自动合并文件(至少不是有问题的)。
  3. Delphi构建自动化,使用命令行编译器。
  4. 与Oracle集成,意味着能够运行SQL脚本和编译PL/SQL包,函数等。
  5. 发送带有构建状态的电子邮件(我想这是所有的东西)。

其他功能将受到欢迎,但目前并不需要。至少得到1分和2分的任何东西都会很棒。

如果有人可以指点我们某个特定的工具,我们将非常感激。

提前感谢和问候

+1

合并发生在开发人员更新和提交时 - 构建工具不应更改文件,它应尝试构建适当的文件集。 SQL * Plus功能非常强大,只要您可以运行带有适当环境和参数的命令行工具,就可以做很多事情。 – 2010-02-24 22:37:37

+0

@ldsandon:Subversion repo的标记是我认为自动构建自动执行的一种场景。 – 2010-02-24 22:49:47

+0

标记不会修改文件。在某些情况下,构建系统可能会修改文件(即插入内部版本号),但恕我直言,这些文件不需要与开发人员更改合并,否则如果出现冲突,自动系统现在可以解决问题。构建应该被开发者打破,而不是构建系统本身:) – 2010-02-25 19:33:16

回答

9

对于我的德尔福的项目,我用的是FinalBuilder(本身就是一个Delphi应用程序)遥想当年。我对这款产品总是非常满意,而且工作得很好。

与此同时,他们还推出了构建工具的服务器版本,因此您可以设置一个完整的构建服务器并在那里构建您的代码。

在那些日子里,另一个有价值的竞争者曾经是Visual Build - 功能上两者几乎匹配,但是应用程序的“感觉”,易用性,在我个人看来是用Finalbuilder。

我不确定这两者中的任何一个是否具有直接和特定的Oracle支持,但至少Finalbuilder可以运行任何可以从命令行运行的任何东西,所以应该给予您充足的选择。

+2

Finalbuilder +1。 – skamradt 2010-02-24 21:28:01

+1

Finalbuilder +1。优秀的,强大的工具。 – 2010-02-24 22:14:46

+1

Finalbuilder还有+1个。神奇的工具。现在我无法想象没有它的工作。伟大的公司也要处理。开发人员在澳大利亚的Delphi社区中很活跃,并且很快得到支持。 – lukeck 2010-02-25 01:17:58

4

我一直在使用CruiseControl.NET作为我们的Delphi版本的持续集成服务器,它与NAnt很好地集成为构建脚本语言。

忘记CC.NET,只要使用NAnt就可以提供你需要的大部分/全部,我想。

结合额外任务的额外NAnt-Contrib库,我实现了您提到的所有与Oracle集成例外的所有内容。但是,您可以轻松地从NAnt脚本中调用命令行内容,或使用任何.NET语言编写您自己的NAnt任务。

NAnt有与Subversion集成的任务,或者您可以简单地调用svn命令行客户端。

我已经从我的NAnt脚本中调用了BeyondCompare作为diff工具,使用NAnt发送定制的HTML电子邮件并执行Installshield构建,以及明显执行commmand行的Delphi编译器和资源编译器。

NAnt是免费且开源的,值得一试。

+0

+1为Beyond Compare。这是非常好的,当我无法再访问我的工作副本时,我会用我自己的钱购买一份供个人使用的副本。这是多么好。 – mcottle 2010-03-02 10:00:07

3

我们使用FinalBuilder来处理需求1,3,4和5以及Beyond Compare来处理需求2,并且对这两种工具都非常满意。

2

我很惊讶没有人提到过Hudson。大多数构建工具似乎都针对特定的语言或平台。哈德森采取不同的方法。它提供了一个plugin架构,因此您可以创建一个适合您需求的构建服务器。该项目本身是用Java编写的,但完全是独立的(除了它依赖于JRE)。它使用自己的内置Web服务器来提供用户界面。

Embarcadero公司使用哈德森extensively有几个很大的如何的文章,让您开始

如果你需要商业支持原作者已经开始company它提供了一个定制版本以及技术支持。