2008-12-31 12 views
5

Yeni bir ortam için, Sql Server'ın çalışan derlemesi (şimdilik) ve bir SVN deposu olan TeamCity çalıştırması için bir gereksinim oluşturmaya çalışıyorum.SVN, TeamCity sanallaştırma/donanım gereksinimi

6 geliştirici var ve CI sürecine katılan 5 etkin çözüm olacak. Çözümlerin hiçbiri şu anda inşa etmek için> 10 dakika sürmez, bu nedenle karmaşıklık açısından büyük olmadığından & loc.

Yapı projeleri, otomatik testlerin çalışabilmesi için bir sql sunucusuna gereksinim duyarlar - TeamCity sql örneğinden ayrı tutulmaları gerektiğini varsayalım.

Bunları çalıştırmak için uygun bir donanım yapılandırması önerebilecek herhangi biri var mı? Disk i/o gerçek işlemci gücünden daha önemli olacaktır.

Bunların tümünü tek bir çoklu işlemci, baskın ve sanallaştırma üzerinde çalıştırabilir miyim?

Windows 2008 ve hyper-v ile çalışmalı mıyız?

Her zaman sunucu gereksinimleriyle başa çıkmalarına izin veriyorum ama şimdi ayaklarımı kirletmem gerekiyor.

en hoş Herhangi bir tavsiye

cevap

9

bir veri noktası: (doğru hatırlamak,)

Bizim TeamCity ortamı üzerinde, Windows 2008 ve HyperV çalışan 8 çekirdekli sunucuların bir üçlü RAM 32Gb her biri. SVN depomuz farklı bir sunucuda (tarihi nedenlerle). Artık her şeyin bir SAN üzerinde olduğunu düşünüyorum, güvenilirlik için (ana bilgisayarlardan biri aşağı inerse, VM'leri başka bir ana bilgisayara kolayca taşıyabiliriz).

Tümü VM'lerde çalışan 10 oluşturucu aracımız var. Düz yapılar için 4 tanesi kullanılır; Bunlardan 6 tanesi, sistem testleri için (testlerdeki diğer VM'leri koordine etmeyi içeren) testler için kullanılır. Bunu yaptık çünkü bazı sistem testlerimizin çalışması 11 saat sürdü ve biz de yapım kuyruğunu tutmak istemiyoruz. Aşamalı sürümlerimiz var - bir proje, otomatik ünite ve sistem testlerini geçene kadar test departmanına bırakılmaz.

Aynı anda 3 veya 4 proje üzerinde aktif çalışan yaklaşık bir düzine geliştiricimiz var. Ayrıca düzeltme ve bakım sürümleri oluşturmak için TeamCity'yi kullanıyoruz.

Senaryonuzda, bütçenize sahip olduğunuz en büyük kutuda, Windows 2008 ve HyperV'yi tercih ederim. Disk G/Ç, CPU gücünden daha önemlidir, ancak daha fazla çekirdekle daha fazla VM'ye daha kolay ölçeklenebilir. Her bir VM'ye atanan çok sayıda RAM, değiştirmeyi önler ve daha az Disk I/O anlamına gelen önbelleğe almayı kolaylaştırır. Belirli bir noktada, iki ya da daha fazla kutunun başarısız olduğunu düşünebilirsiniz, çünkü bazen 32Gb RAM ile iki kutu satın almak daha ucuzdur, çünkü tek bir kutu için 64Gb seçeneğini satın almaktan daha iyidir.

VM'leri kullanmanın bir avantajı, bunları anlık görüntüleyebilir ve periyodik olarak geri alabilirsiniz. Her proje muhtemelen kendi SQL Server örneğine sahip olmalıdır.

+0

Roger, Cevabınızdaki büyük ayrıntılar için teşekkürler. Çok beğenildi – redsquare

+0

Yanıtınızı tekrar okuduktan sonra ... 11 saat test, vay ... niçin bu kadar uzun zaman ayırın! – redsquare

+1

Testlerden biri, BCP'leri veritabanına birkaç milyon satırdan sonra test edilecek kodu çalıştırır. Sadece bu bir testin çalışması için bir saat sürebilir. –

3

Belgelerindeki Nasıl Yapılır bölümüne göz atmalısınız: http://confluence.jetbrains.net/display/TCD65/How+To ... Burada "TeamCity için donanım gereksinimlerini tahmin etme" konusunu bulacaksınız. Muhtemelen yardımcı olacaktır.

+0

TeamCity 8 belgelerinden daha güncel bir bağlantı, http://confluence.jetbrains.com/display/TCD8/How+To...#HowTo...-Güvenlik Önkoşulları içinTeamCity – KIR