2008-12-31 72 views
5

我想爲一個新環境提出一個要求,包括運行Sql Server的TeamCity,幾個構建代理(現在)和一個SVN存儲庫。SVN,TeamCity虛擬化/硬件需求

有6位開發人員,現在將有5個主動解決方案參與CI流程,這些解決方案將隨着時間的推移顯着增長。目前沒有任何解決方案花費大於10分鐘的時間,因此它們在複雜度方面並不是很大。

構建項目本身需要一個sql server實例,所以自動化測試可以運行 - 我假設它們應該與TeamCity sql實例保持分開。

任何人都可以提出適合運行這些硬件配置。磁盤I/O將比實際的CPU功率更重要。

我可以在單個多CPU,RAID和虛擬化上運行所有這些嗎?

我們應該用windows 2008和hyper-v來運行嗎?

我一直讓別人處理服務器需求和構建,但現在我必須弄髒自己的腳。

任何意見最受歡迎

回答

9

數據點:

我們TeamCity的環境(如果我沒有記錯)的8核服務器三人各有32GB的RAM,運行Windows 2008和Hyper-V的。我們的SVN倉庫位於不同的服務器上(由於歷史原因)。我認爲現在一切都在SAN上,因爲可靠性(如果其中一臺主機出現故障,我們可以輕鬆將虛擬機移動到另一臺主機)。

我們有10個構建代理,全部運行在虛擬機中。其中4個用於直砌;其中6個用於構建和運行系統測試(涉及協調測試中的其他虛擬機)。我們之所以選擇這個,是因爲我們的一些系統測試需要運行11個小時,並且我們不想保留構建隊列。我們已經分階段發佈 - 一個項目理想情況下不會發布到測試部門,直到它通過自動化的單元和系統測試。

我們有大約十幾位開發人員一次爲3或4個項目工作。我們還使用TeamCity來構建修補程序和維護版本。

在你的場景中,我會選擇Windows 2008和HyperV,在你有預算的最大盒子上。磁盤I/O比CPU的能力更重要,但使用更多的內核可以更輕鬆地擴展到更多的虛擬機。分配給每個虛擬機的大量內存可以避免交換,並幫助緩存,這意味着更少的磁盤I/O。在某個時候,您可能會考慮擁有兩個或更多盒子進行故障切換,而且購買兩個32Gb內存的盒子比購買一個盒子的64Gb盒子便宜。

使用虛擬機的一個優勢是您可以快照並定期恢復虛擬機。每個項目都應該有自己的SQL Server實例。

+0

羅傑,感謝您的回覆中的細節。非常感謝 – redsquare 2008-12-31 11:44:20

+0

再次閱讀你的反應.... 11小時測試,哇...關心泄露爲什麼這麼久! – redsquare 2008-12-31 11:47:50