Aracılığıyla paylaş


Team Foundation Yapı Sistemini Anlama

Otomatikleştirilmiş ve dağıtılmış bir sistemde yazılımınızı derlemek, test etmek ve dağıtmak için Team Foundation Yapısı'nı kullanabilirsiniz. Bu yazılım, büyük yazılım geliştirme kurumsallarına ek olarak, küçük başlangıç yazılımlarını desteklemek üzere tasarlanmıştır. Sistem, takımınız ve kod temeliniz büyüdükçe yapı sisteminizi ölçeklendirmenize yardımcı olmak için tasarlanmıştır.

Bu konuda

  • Yapı Makineleri

    • Team Foundation Yapı Hizmeti

    • Sanal Makineleri Yapı Makineleri Olarak Kullanma

  • Yapı Denetleyicisi

  • Yapı Aracısı

  • Yapı Sistemi Topolojisi Örnekleri

  • Sonraki Adımlar

Yapı Makineleri

Team Foundation Yapısı'ni kullanmak için, en az bir yapı makinenizin olması gerekir. Herhangi bir orta veya büyük ölçekli yazılım eforu için, büyük olasılıkla birden çok yapı makinesine ihtiyaç duyacaksınız. Sonradan bu konuda, birkaç yapı sistemi yapılandırması örneği sunulmuştur.

Yapı makinesi, üzerinde Team Foundation Yapı Hizmeti yüklü ve yapılandırılmış olan bir bilgisayardır. Makine, fiziksel bir makine olabilir. (Örneğin, çalışma laboratuvarınızdaki masanızın altında olan kişisel bir bilgisayar). Yapı makinesi olarak hizmet etmesi için, sanal makinenin esnekliğinden yararlanabilirsiniz.

Not

Erişiminiz olan herhangi bir bilgisayara özel amaçlı bir yapı makinesi kurabilirsiniz. Örneğin, Team Foundation Yapı Hizmeti kabiliyetlerini kullanmak üzere yapı makinesini kurabileceği ekstra bir bilgisayara sahip olan geliştirici.

Siz yapı makinelerini Team Foundation Yapı Hizmeti'nin çalıştığı bilgisayarınızdan değiştirip, yapılandırabilmenize rağmen, yapılandırılan bu veriler, takım projesi koleksiyonunda saklanır.

Team Foundation Yapı Hizmeti

Bir yapı makinesi kurmak için, Team Foundation Yapı Hizmeti'ni yükler, yapılandırır ve çalıştırırsınız.

Team Foundation Yapı Hizmeti, işletim sistemi içerisinde farklı yerlerde listelenen bir Windows hizmetidir. Nerede listelendiği Team Foundation Yapı Hizmeti'nin bir Windows hizmeti olarak mı yoksa etkileşimli bir servis olarak çalıştığına bağlıdır. (Bu seçeneği nasıl ayarlayacağınız hakkında daha fazla bilgi için, bkz. Bir Yapı Makinesini Yapılandırma.)

Team Foundation Yapı Hizmeti bir Windows Hizmeti olarak çalıştığında:

  • Hizmetler düğümünde, Team Foundation Yapı Hizmeti, Visual Studio Team Foundation Yapı Hizmeti Konağı olarak listelenmiştir. Hizmetler düğümünü aşağıdaki yerlerden birinde görüntüleyebilirsiniz:

    • Sunucu Yöneticisi'nde bir sunucu işletim sisteminde (örneğin, Windows Server 2008)

    • Bilgisayar Yönetimi'nde bir istemci işletim sisteminde (örneğin, Windows Vista)

  • Görev Yöneticisi'nde, Team Foundation Yapı Hizmeti öğesi Hizmetler sekmesinde Visual Studio Team Foundation Yapı Hizmeti Konağı olarak listelenir.

Not

Bir önceki listedeki yerlerden yapı hizmetini durdurabilir veya yeniden başlatabilirsiniz. Hizmeti durdurarak veya yeniden başlatarak, yapı makinesini etkili bir biçimde durdurur veya yapılandırırsınız. Bununla birlikte, Team Foundation Yönetim Uçbirimi'ni kullanarak bir yapı makinesini daha rahat yönetebilirsiniz. Daha fazla bilgi için bkz. Yapı Sisteminizi Yönetin.

Team Foundation Yapı Hizmeti Etkileşimli bir Hizmeti olarak çalıştığında:

  • Görev Yöneticisi'nde, Team Foundation Yapı Hizmeti, Uygulamalar sekmesinde TFSBuildServiceHost olarak listelenir.

Sanal Makineleri Yapı Makineleri Olarak Kullanma

Sanal bir makinede Team Foundation Yapı Hizmeti dağıtabilirsiniz (örneğin, Windows Server 2008 çalıştıran fiziksel bir makinede çalışan Hyper-V sanal makinesi). Bu stratejiyi izleyerek, aşağıdaki görevleri kolayca gerçekleştirebilirsiniz:

  • Zaman içindeki herhangi bir durumdan ve noktadan sistemi yeniden yapılandır. Örneğin, sistem bozulursa, temiz bir ortamdan bir anlığı çabucak geri çevirebilirsiniz ve sistemi yeniden derleyebilirsiniz.

  • Sanal bir makinenin anlığını alın, onu dışarı aktarın ve ardından onu arşivleyin veya takımınızın diğer bir üyesiyle paylaşın.

Sanal bir makine kullanmanın ilk dezavantajı onun fiziksel bir makinden daha yavaş iş yapmasıdır. Yapılarınızın gerektirdiği iş miktarı küçükse veya yapıları sıklıkla çalıştırmıyorsanız (örneğin gecelik), sanal bir makine sisteminizde yapı makinesi olarak yeterli olacaktır.

Sanal bir makinede çalıştığında Team Foundation Yapı Hizmeti performansını iyileştirmek için aşağıdaki görevleri gerçekleştirebilirsiniz:

  • Sanal makinelerinizi çok çekirdekli bir işlemciye sahip fiziksel bir makinede çalıştırın. Eğer, örneğin, fiziksel makinenizin dört çekirdekli işlemcisi varsa, dört tane sanal makineyi aynı anda çalıştırabilirsiniz ve onlar birçok durumda yapı makineleri gibi epey iyi çalışacaktır.

  • Her bir sanal makineye fiziksel bir sabit disk verin ve tanıtın.

Yapı Denetleyicisi

Her yapı denetleyicisi tek bir takım projesi koleksiyonuna ayrılmıştır. Denetleyici belirtilen takım projesi koleksiyonundaki herhangi bir takım projesiden yapı isteklerini kabul eder.

Her yapı denetleyicisi, bir veya daha fazla yapı aracı servisini yönetir. İşlemci-yoğun işini (kod derlemek veya test çalıştırmak gibi) kendi havuzundaki yapı aracılarına dağıtır.

Yapı denetleyicisi iş akışını işler ve tipik olarak, yapının adını belirleme, sürüm denetiminde etiketi oluşturma, notların girişini yapma ve yapıdan durum bildirme gibi hafif işleri gerçekleştirir.

Bir yapı denetleyicisi tipik olarak önemli ölçüde işlemci zamanı gerektirmediğinden, sanal bir makine, yapı denetleyicisi için platform olarak hizmet vermeye genelde yeterlidir. Bununla birlikte, bir yapı denetleyicisi belirli durumlarda önemli miktarda bellek talebinde bulunabilir. Bundan dolayı, üzerine yapı denetleyicilerinizi kurduğunuz fiziksel makineye veya sanal makineye gerekli belleği sağladığınızdan emin olmalısınız.

Yapı Aracısı

Her yapı aracısı tek bir yapı denetleyicisine verilir ve onun tarafından denetlenir. Yapı aracısı işlemci-yoğun ve disk-yoğun işi yapar. Bu iş sürüm denetiminden dosyaları alıp yerleştirmeyi, çalışma alanını temin etmeyi, kodu derlemeyi ve testleri çalıştırmayı içerir.

Bir yapı sistemini derlediğinizde, bir kaç aracıyla başlayabilirsiniz. Daha sonra siz takım üyeleri ekledikçe, kod temeliniz büyüdükçe ve yapı sisteminiz tarafından yapılması gereken iş arttıkça, daha fazla yapı aracısı ekleyerek yapı sisteminizi ölçeklendirebilirsiniz.

Özelleştirilmiş kabiliyetlere sahip olmaları için aracılarınızı ayarlarsanız, o aracılara etiketler atamalısınız. Bu stratejiyi izleyerek, özelleştirilmiş aracıları kullanabilen yapı tanımlarını oluşturabilirsiniz. Örneğin, BVT etiketini, BVT testlerinizi çalıştırmak üzere tasarlanmış olan aracıların havuzuna uygulayabilirsiniz. Sadece bu yapı aracılarını kullanmak üzere gecelik bir yapı tanımlayabilirsiniz.

Yapı aracıları işlemci-yoğun işinin çoğunu yaptığından dolayı, yapı makinesinin, işi makul bir zaman aralığında bitirmek için yapı aracısını etkinleştimek üzere gerekli güçteki donanıma sahip olduğundan emin olmalısınız.

Yapı Sistemi Topolojisi Örnekleri

Team Foundation Yapı Hizmeti, daha küçük, daha az karmaşık bir yapı sistemiyle başlayabileceğiniz bir yolla tasarlanmıştır. Kod temeliniz genişledikçe ve takımınız daha fazla büyüdükçe, sahip olduğunuz sisteme yapı makineleri ekleyerek göreli kolaylıkla sisteminizi adım adım genişletebilirsiniz.

Tekli makine sistemi (uygulama katmanıyla paylaşılır)

Aşağıdaki yapılandırma çok küçük bir takımı destekleyebilir, özellikle yapıları az sıklıkta ve çalışma saatleri dışında çalıştıran bir takımı destekler. (Örneğin, sadece tek bir gecelik yapı çalıştırırsınız.)

Uygulama katmanında tek makineli sistem

Çoğu durumda, tek bir yapı makinesi olan topoloji aşağıdaki nedenlerden dolayı yetersizdir:

  • Yapı aracısı işlemciye zor istekleri yükler, ki bu durum uygulama katmanınızın performansını önemli ölçüde azaltır.

  • Yapı denetleyicisi sistem belleğine baskı yapabilir, özellikle de denetleyici birçok etkin yapı aracısını aynı zamanda yönetiyorsa.

  • Team Foundation Yapı Hizmeti'ni yüklemek bir yapı makinesinin hamle yüzeyini arttırır. Örneğin, kötü bir kullanıcı rasgele bir kod çalıştırıp sunucunun denetimini ele geçirmek ve veri çalmak üzere bir yapı tanımı oluşturabilir.

Tekli makine sistemi (stand-alone)

Aşağıdaki yapılandırma küçük bir takım için iyi bir başlama noktasıdır.

Tek makineli sistem (tek başına)

Yapı aracıları işlemci-yoğun işini ayrı bir makinede gerçekleştirdiğinden dolayı, yapılar çalıştığı zaman onlar uygulama katmanı sunucusunun performansını etkilemez.

Atanmış yapı makinesinde de yapı denetleyicisini çalıştırabilirsiniz. Bununla birlikte, çizimdeki yapılandırma, yapı makinesini değiştirmeniz veya onarmanız gerektiği zamanlardaki gibi, yapı sistemi değişikliklerini daha az aksatıcı bir hale getirme avantajına sahiptir.

Yapı denetleyicisinin uygulama katmanı ile aynı makinede bulunması, işlemci açısından genel olarak bir sorun değildir. Bununla birlikte, aşağıdaki nedenlerden dolayı daha ölçeklenebilir bir topolojiye taşınabilirsiniz.

  • Yapı denetleyicisi sistem belleğine baskı yapabilir, özellikle de denetleyici birçok etkin yapı aracısını aynı zamanda yönetiyorsa.

  • Team Foundation Yapı Hizmeti'ni yüklemek bir yapı makinesinin hamle yüzeyini arttırır. Örneğin, kötü bir kullanıcı rasgele bir kod çalıştırıp sunucunun denetimini ele geçirmek ve veri çalmak üzere bir yapı tanımı oluşturabilir.

Çoklu makine sistemi

Orta büyüklükteki ve büyük takımlar genel olarak girişimlerini desteklemek üzere çoklu yapı makinelerine gerek duyacaklardır. Aşağıdaki örnekte, iki yapı makinesi dağıtılmıştır.

Çok makineli sistem

Çoklu yapı makineleri kullanarak, aşağıdaki örnekte açıklandığı gibi her bir makineyi farklı bir amaca atayabilirsiniz:

  • Bir yapı makinesi, sürekli bütünleme yapıları işleyen yapı aracılarına atanabilir. Takım, bu çeşit yapılara (özellikle çevrili iade yapılarına), işleri bir yapı için bekletilmeden çabucak bitsin diye gerek duyar. Yapıların çabukça çalıştığından emin olmak için yapı işlemi parametre ayarlarını kullanırsınız. Bu ayarlamalar, çalışma alanını temizlememeyi, sadece en öncelikli testleri çalıştırmayı ve En Fazla Çalışma Zamanı ayarı için düşük bir değer belirlemeyi içerir.

  • Diğer bir yapı makinesi, işlemek için çok zaman gerektiren programlanmış ve özel amaçlı yapılara atanabilir. Örneğin, tanımların çalışma alanını temizlemesi için, bu makinedeki yapı aracılarını hedefleyen yapı tanımlarını kurabilirsiniz, bütün testleri çalıştırabilirsiniz ve kod çözümlemesi yapabilirsiniz.

Çoklu denetleyicileri olan çoklu makine sistemleri

Aşağıdaki topoloji kurumsal düzeydeki yazılım çabalarını destekleyebilir.

Birden çok denetleyici içeren çok makineli sistem

Çizimde gösterildiği gibi, her takım projesinin kendi yapı denetleyicisi olmalıdır. Topolojinin yapı makinelerini nasıl soyutladığına dikkat edin. Takım Projesi Koleksiyonu A üzerinde çalışan takım üyeleri sadece Yapı Denetleyicisi A'nın denetlediği yapı aracılarını kullanabilir.

Sonraki Adımlar

Şimdi bir Team Foundation Yapısı sisteminin nasıl çalıştığını anlıyorsunuz, aşağıdaki adımları atmak için hazırsınız: