2009-12-17 34 views
2

大約2個月前,我超過了當前公司的構建過程。儘管我對此沒有太多的瞭解,但我是唯一有足夠時間的人,所以我沒有太多選擇。構建腳本 - 怎麼做

形勢並不好,我願做以下操作:在SourceSafe中

  1. 標籤文件的版本(例如項目名PV 1.2)從SourceSafe
  2. GetFiles的特定目錄
  3. 構建VB6/C++/C#項目(是的,有各種人)
  4. 構建的InstallShield設置

這是部分使用批處理腳本完成的(一個用於標記和獲取,一個用於建築等)。所以,當開始建設時,我幾乎沒有照顧它。 此代碼的好部分可以重用。

有關如何做得更好的建議?一個大問題是項目之間的整個依賴關係。此外,標籤必須增加版本,並在必要時將PV更改爲EV。

我想盡量減少用戶交互。點擊一個構建腳本(Spolsky是上帝),一切都完成了,不需要增加版本,設置從哪裏獲取文件和類似的東西。

批處理腳本是最好的方法嗎?我應該使用msbuild做一些功能嗎?還有其他選擇嗎?

具體的代碼是不需要的,現在我只需要一種方法來改善它,即使它不會傷害。

TNX, 馬爾科

回答

1

既然你已經有了一個構建系統(儘管它有一些目前是「手動」的),不管你做什麼,都不要從頭開始。 (1)確保你有一個工作的測試機器(或虛擬機器)。因此,您可以進行更改和改進,而無需擔心會破壞任何內容。

(2)將全部放在版本控制中的構建腳本和工具,而不僅僅是源代碼。然後當你做出改變時,看看它們是否有效。如果他們這樣做,然後將它們保存到版本控制。如果他們不這樣做,那就把他們推回去。

(3)一次選擇一個區域進行操作。不要試圖一次做所有事情。無論您正在使用哪種構建系統,從大量手動工作到「一鍵式」都需要時間。

1

聽起來像是你想有一個持續集成的解決方案,像CC.Net。它有配置選項來完成你想要的所有事情,並且有一個偉大的社區來回答問題。

此外,批處理腳本可能不是一個好的選擇。先進的構建和集成工具將使您可以將參數提供到構建中,併爲不同環境(測試,生產等)創建不同的構建。批處理腳本將涉及大量的手工編碼和膠水。