2010-02-24 39 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它提供了一個定製版本以及技術支持。