2008-12-24 86 views
0

我正在嘗試設置一個持續集成過程。對於我的各種構建任務(編譯,測試,文檔等),我需要具有執行這些任務的工具(csc,NUnit,NDoc等)。我的問題是這些工具是否也會進入我的源代碼控制庫?存儲庫應包含哪些內容?

爲什麼我認爲他們應該是因爲我在一些在線文章中讀到開發人員環境應該與構建服務器環境非常相似。爲了滿足這個要求,文章建議你將所有必要的東西放到版本庫中,當你簽出代碼(或者構建服務器簽出代碼)時,你可以立即開始構建項目,而無需首先安裝任何其他工具。但另一方面,如果我將這些工具與我的源代碼放在版本庫中,那麼構建服務器將在構建版本運行時安裝它們。

可以安裝這些工具嗎?不會不必要地增加每個版本的時間?

回答

2

通常比試圖檢查工具來源控制的工作更麻煩。相反,編寫一個必須安裝的軟件需求清單,然後才能檢出和構建源文件(在任何情況下,需要在此清單上列出的一件事是源控制系統本身)。如果您依賴於源代碼管理中的軟件,則某些工具可能需要安裝在某些路徑中或以其他方式配置(注意到註冊表項)。

我當然會不是檢查編譯器本身的源代碼控制,我可能不會檢查NUnit或NDoc。只需事先安裝這些軟件,因爲它們在項目的整個生命週期中不可能發生太大的變化。您的構建腳本可能希望在構建可能繼續之前檢查是否安裝了所需軟件包的預期版本。

2

除非您正在自定義這些工具,否則可能沒有理由將其源代碼放入您的存儲庫。但是,將配置文件放入存儲庫有極好的理由。

1

爲每一個版本重新安裝工具是矯枉過正的,會讓你放慢速度。

然而,有一個服務器致力於持續集成,以便知道它的狀態;你確定沒有人安裝任何可能對構建結果產生影響的東西。

如果您希望能夠在明年重新生成今天的版本,那麼您需要先重新創建環境。確保您可以重新安裝您的工具(完全相同的版本),可以將它們保留在服務器上(將新版本安裝在不同目錄中),也可以將整個軟件包存儲在配置管理工具中。

想想你將如何創建另一個持續集成服務器,既可以擁有其中兩個服務器,也可以創建另一個站點,或者在災難發生後恢復。 文件如何建立持續集成服務器

什麼真的需要版本控制,是構建腳本,訪問正確版本的工具,特別是如果你選擇安裝幾個版本的工具。

相關問題