2014-01-28 70 views
1

我一直在努力獲取支持構建和部署的應用程序,而不是手動構建和部署。我的團隊使用RTC來存儲代碼(不是我的選擇,如果我有一個說法,我們會使用TFS或地獄,Subversion),顯然他們使用Build Forge來構建和部署Java應用程序。根據我的理解,buildforge只是編排一切並運行腳本來執行實際的構建和部署任務。使用BuildForge構建和部署.Net應用程序

現在,我一直在研究PowerShell腳本來構建我的代碼並進行部署。我似乎無法在網上找到任何關於如何真正整合我已經使用此工具完成的任何信息? IBM提供的很多絨毛片關於這個工具有多棒?

有沒有關於使用BuildForge自動化.net應用程序的好教程?

+0

我以前的公司有同樣的問題。哦,這是我離開的原因之一。祝你好運。 –

回答

1

這正是我不喜歡BuildForge的原因。這是一個很棒的跨平臺,多主機協調器,但它並不真正「構建」任何東西。我在一家公司工作了幾年,在一家服務器上有大約800個項目,另一臺服務器上有800個項目。我們發現,如果我們將所有構建步驟寫入BuildForge中,我們就會殺死數據庫。相反,我們有一個共同的圖書館,通過向NAnt發出大部分的工作。 MSBuild本來也是一個不錯的選擇,但在NAnt更成熟的時候。

我們在60臺虛擬機上運行了10萬次。我們有一個構建步驟,與VSphere服務器交談以重置虛擬機,等待虛擬機重新聯機,然後在其上運行構建。

我還爲另一家使用AStarTeam進行源代碼管理和BuildForge構建的公司工作。我站在TFS服務器上,編寫一個Get擴展來從StarTeam中提取代碼。然後我創建了包裝TFS構建的BuildForge項目。就開發人員而言,他們仍然會使用ST和BF,但實際上我獲得了TFS的所有Workflow/MSBuild功能,並有可能在一天內移動源代碼併成爲TFS。

因此,在BF上沒有.NET教程,因爲它完全基於你想要做什麼。 Perl,PowerShell,NAnt,MSBuild等。

+0

因此,您可以使用Build Forge使用powershell腳本?我只是很難找到關於如何與其他人互動的任何事情。 – SoftwareSavant

+0

http://www-01.ibm.com/support/docview.wss?uid=swg21323061 –

+0

也就是說,通常在我的谷歌搜索這讓我覺得這兩者是不兼容出現的鏈接。 – SoftwareSavant

1

問題powershell和BF是BF如何捕獲輸出的。代理會捕獲stdout的posix等價物,但powershell會對輸出句柄做一些奇怪的事情,並且輸出不會正確地返回到代理中。結果,沒有輸出回到代理,並且步驟超時。對7.1.3行中的控制檯代碼進行了修復,可以防止發生步驟超時(在某些情況下,代理沒有正確地將心跳發送回控制檯)。如果沒有(我不是PowerShell的用戶),那麼有包裝的方式,但它並不明顯,也不平凡。

是的,BF是一個偉大的多平臺自動化工具,但是當你做它,它只是作爲一個構建工具一樣好。它附帶了用於對多個不同的SCM系統執行真正CI的部分和文檔。有條件的步驟也使得無需使用適配器來用BF來完成真正的CI。它擁有所有的功能,使其成爲任何環境的一個很好的構建工具。

來源:我是BF產品的建造工程師。

+0

好吧,我猜你會成爲與之交談的人。你可以用Build forge來使用Nant嗎?我將放棄我的Powershell腳本(無論如何,並使用南特)。對此有何建議? – SoftwareSavant

+0

我沒有親自使用nant。我們有客戶。他們沒有報告我所知道的任何問題。我在我的構建中使用了螞蟻,並沒有任何問題。 (根據nant頁面,實際上非常相似)然而,即使構建失敗,ant也返回0。這需要使用過濾器來確定構建失敗。我不確定nant是否與返回碼一樣。小心那個。 – rhaig