SORU
19 Aralık 2008, Cuma


Team Foundation Server Kaynak Kontrol Yapısı

Yeni yıl için Team Foundation Server dağıtımı için kaynak kontrol yapısı standart hale getirilmesi üzerinde çalışıyoruz. Microsoft Team Foundation Server Branching Guidance Diğer belgeler mevcut kullanarak başladım.

Önerilen yapı ile ilgili özel sorular birkaç için bazı geribildirim ve cevap almayı umuyordum. Elinize sağlık yapılanması kaynak kontrolü söz konusu olduğunda, bu kadar çok olduğunu öğrendim "standartları gerçekten bir standart değil. var seçim için"

İlk ve kararlar anahat tanımlamak ve kullanımı.

$/                                                
    {Team Project}/                               
        {Subproject}/                             
            Development/                          
                Trunk/                            
                    Source/
                    Tests/
                    Sandcastle/
                    TeamBuildTypes/
                        {Build Name}/
                Branches/
                    {Branch Name}/
                        Source/
                        Tests/
                        Sandcastle/
                        TeamBuildTypes/
                            {Build Name}/

            Integration/
                Source/
                Tests/
                Sandcastle/
                TeamBuildTypes/
                    {Build Name}/
            Production/
                Releases/
                    {Release Version}/
                        Source/
                        Tests/
                        Sandcastle/
                        TeamBuildTypes/
                            {Build Name}/
                Branches/
                    {Branch Name}/
                        Source/
                        Tests/
                        Sandcastle/
                        TeamBuildTypes/
                           {Build Name}/

Genel mantığı bir Takım Proje ürün ya da aracı bir süit şeklinde ya da tek mantıklı bir proje {Subproject} Giriş olacağına dair) ya da birden çok ilgili projeler içerebilir. Üç büyük kaplar Development, Integration Production denir.

İlgili birim testleri Tests klasör içinde mevcuttur Development kabın Gövde içinde, Source klasöründe ürünü oluşturan her iki proje için hükümler vardır. Küçük bir gelişim çoğunluk dallanma dallanma bir konteyner gibi davranan Trunk klasör Branches kardeş klasör, mevcut bagajda ortaya çıkabilir. Bir veya daha fazla çözüm dosyaları Trunk, o seviyede dalları çözümü yakalamak için izin, kaynak ve birim testleri içinde yaşayacaktı.

Integration konteyner, sık sık "" non-elinize sağlık uygulaması, sadece Development Kümeleri istikrarlı ve test edilebilir bir yapı oluşturmak için entegre etmek için kullanılır. ana denir Başlangıçta test edilebilir bir ürün elde edildikten sonra Development kapsayıcı bir şube olarak oluşturulur. Test ortamı ve yük test ortamı bizim için kullanılacaktır bu kapsayıcı oluşturur. Performans değişiklikleri, hızla herhangi bir usulsüzlük olmuştur da Değişiklik izole etmek için mümkün olan monitör, böylece test edilebilir yapılar ile yük testi eklemek için seçiyoruz.

Production üretim öncesi üretmek için kullanılır ve üretim kalitesini oluşturur. Başlangıçta bir ahır inşa serbest bırakmak için tavsiye edildikten sonra Integration kapsayıcı bir şube olarak oluşturulur. Releases klasör içinde, "" yapı, tek bir yerde snapshotting ve izolasyon sağlayan izlenir. yayın şube Release 1.1 üretim öncesi bir yapı için hazır olduğunda (örneğin, Integration istikrarlı kap Production/Releases yapısı ** 20 yeni bir klasör içine dallı. Sonraki RCs ve RTWs/Tmu bu klasör içine yükseltilir.) Dallanma yapısı Branches kapsayıcı olarak da mevcut. Bu "düzeltme", genellikle bir revizyon (Büyük.işaretçi sağlar Küçük.Revizyon). Şube geçerli sürüm oluşturulur ve geri yeni revizyon marker - Release 1.1.1 gibi birleşti. Değişiklik kümesini Trunk kabul üzerine Development kaba ters entegre olur.

Bu yapı, sağlamlık ve karmaşıklığı arasında adil bir denge olduğunu düşünüyoruz. Ama gayet iyi bir model sığmayan olmayan birkaç dırdırcı bir soru var. Bunlar:

Ekip Oluşturma- Development Integration kaplar başlangıçta gece kurar, sonunda Sürekli Entegrasyon (CI) hareket olarak başlayacak. Üretim kabı el ile inşa edilecek.

  • Nerede tanımları canlı inşa etmeli?Edit - cevaplar bir kaç dayanarak, TeamBuildTypes klasörü bagajı taşındı ve uygun kaplara dallı oldu. Bu, ancak, yeni bir soru çıkıyor (aşağıda).

  • Bu TeamBuildTypes uygun kaplar içinde klasör alarak, tüm tanımlara uygun klasörler arasında yeniden inşa etmek anlamına mı geliyor? Örneğin, kalite geliştirme için inşa bir tanım olmasının yanı sıra test edilebilir yapılar, vb oluşturur. yapı boyunca tüm TeamBuildType klasörlerdeki tüm yaşam.

Belge Oluşturma- Kumdan kaleyi belgeleri oluşturmak için kullanırız. Özellikle, biz de Sandcastle Help File Builder çıkış yönetmek için kullanın. Bu proje bir biçimi SFHB için özel bir dosya üretir.

  • Oluşturulan belgeleri kaynak kontrol yapısı içinde saklanır?

  • Belgeler her bir konteyner için oluşturulan olmalıdır, ya da sadece üretim öncesi ve üretim kalitesi için değer oluşturur parça mı?

  • Hızlı yerel yapı kat korumak için Dokümantasyon oluşturma bir yapı tanımı, ait olmalıdır?

  • Nerede SHFB-özel dosyalar. Benim ilk ipucu Source Tests klasörleri bir eş olarak koymak için.Source Tests peer bu recommondations katılıyorum. Diyagram bu değişikliği yansıtacak şekilde değiştirildi.

Üçüncü Taraf İkili

  • Gereken ikili (kontroller, vb. kütüphaneler) kaynak kontrol depolanır?

  • Eğer öyleyse, kendi Takım Projesi olmalıdır?

Genel Belgeler- Sigara üretilen belgelerine, gereksinimleri, tasarım belgeleri, test planları, vb gibi. kaynak kontrol yapısı içinde bir klasör yansıyan olmayacak. Sonra bir araştırma ve tartışma ile benim geliştiriciler ve eş, kullanarak yerleşik Belgeler klasöründe Ekip Gezgini daha fazla yarar sağlar beri aynalar yapısı içinde Ekip Proje Portal ve bazı (iş) kullanıcılar değil gereken ek bir karmaşıklık öğrenme kaynağı kontrol yönü elinize sağlık.

< / ^ hr .

Soruların cevaplarını daha net bir görüntü elde etmek için almak gibi yapısı güncellenir. Ben de başka bir yorum potansiyel değişiklikleri ile ilgili hoş geldiniz. Eğer herhangi bir başka sorunuz varsa, bu yazı değiştirmek için emin olacağım.

Düzenlemeler:

  • Açıklama. Source Tests klasörler Integration kabın altında yaşıyorlar.

  • Micah ve Josh hem de büyük puan üçüncü taraf ikili ile ilgili getirdi. Soru konu ile ilgili olarak eklendi.

  • Belgelerine nesil yavaş olabilir. Soru Dokümantasyon oluşturma belirli bir Takıma ait olup olmadığını, Yapı Türü ile ilgili olarak eklendi.

  • Katma çözüm oluşturulan sigara belgeler ile ilgili, gereksinimleri, tasarım belgeleri, test planları, vb gibi.

  • Ekledi çözünürlük tanımlamalarını oluşturmak için TeamBuildTypes klasör ile ilgili.

  • Çeşitli geribildirim dayanarak, şube seviyeleri / dalına TeamBuildTypes klasörü taşındı.

CEVAP
19 Aralık 2008, Cuma


Sonra kumdan kaledeki baskılarını Kaynak ve Testleri, belgeleri bir klasör eklemek istiyorum, bir eş olarak kumdan kale dosyaları koyma fikrini dosyaları ve isteğe bağlı olarak asıl belgeleri seviyorum.

Kesinlikle görüş farklılıkları vardır ve bu daha önce de yaşadım bu yana) için downvoted olacak eminim. Nedenlerle bir çift için elinize sağlık, oluşturulan belgeleri koymak istiyorum:

  1. Her sürümü ile belgeleri isteyecek, ve kullanarak elinize sağlık belgelerine doğru yerde kalmasını sağlamak için kolay bir yaklaşımı vardır.
  2. Elinize sağlık herkes için en uygun yer demek depolamak için kullanarak belgeleri almak.

Bir şey göremiyorum ki ben hep mücadele ile olduğu için üçüncü parti bağımlılıklar, belki de ait oldukları aşağı altında kaynak çok onlar ile her bir proje olmasına rağmen eğer paylaşmak istedim onları genelinde projeler olabilir Ekle yeni bir üst düzey düğüm.

Edit

Benim ikili için ben genelde

$/Üçüncü kişi/Şirket/Ürün/Sürüm/Src(isteğe bağlı)

Örneğin var

$/Üçüncü taraf/ Microsoft/ EntLib/ 3.1 4.0 ComponentArt/ Webuı/ 2008.1/ Src

Kaynak eklemek isterim, yapmak istemezdim ama üçüncü bir Taraf buna başvurmak zorunda hatayı düzeltmek değil CA kaynak yama yaptım.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Dave Wallace

    Dave Wallace

    27 Kasım 2007
  • LinusTechTips

    LinusTechTip

    25 Kasım 2008
  • xXGAMERrs_Xx

    xXGAMERrs_Xx

    31 Temmuz 2014