Aracılığıyla paylaş


Oluşturma ve sürekli olarak dağıtma

Geliştiricilerin çoğu karmaşık yazılım projelerde işbirliği, kod sayfasının farklı bölümlerini birlikte tümleştirmek için uzun ve öngörülemeyen bir işlem olabilir. Ancak, yapı ve proje sürekli olarak dağıtmak daha verimli ve daha güvenilir bu işlemi yapabilir.

Sürekli Integration (CI) kodunuzu mümkün olduğunca sık bir paylaşılan depo tümleştirme işlemidir. Kod entegrasyonu sırasında bir yapı sonu veya sınama hatası, zamanında, kodunda bir hata bildirebilir.

Koç Fowler aşağıdaki içindeki sürekli tümleştirme için yöntemler vardır:

  • Bir tek kaynak havuzunu koruyun.

  • Otomatik olarak oluşturma.

  • Oluþturma self-sustaining olun.

  • Bir günde en az bir kez kontrol edin.

  • Her iade CI sunucu üzerinde oluşturun.

  • Hızlı yapı bulundurun.

  • Üretim ortamında bir Kaynağı Klonla sınayın.

  • Herkes en son yürütülebilir dosyayı almak kolaylaştırır.

  • Her zaman ne oluyor dikkat edin.

  • Dağıtım otomatikleştirmek.

Daha fazla bilgi için aşağıdaki sayfa Koç Fowler'ın Web sitesine bakın: Sürekli Integration.

Visual Studio Application Lifecycle Management (ALM)uçtan uca yazılım geliştirme işlemini yönetmenize yardımcı olur ve sürekli tümleştirme yöntem destekler. Yeteneklerini biraraya getirilmesiyle tarafından Visual Studio ALMprojeniz kaçının beklenmedik gecikme, maliyet aşma ve yürütme riskleri.

Bu konuda

  • Bağımlılıkları yönetme

  • Visual Studio 2010 içinde sürekli tümleştirme

  • Hazır ve başlatılan alma

  • Sürüm Denetimi

  • Yapılandırma

  • Sınama ve dağıtım

  • Proje tümleştirme ve iletişim

Bağımlılıkları yönetme

Kod tümleştirmek için kullanılan bir karmaşık kod arasındaki bağımlılıkları nedeniyle işlemidir. Örneğin, ekran üzerinde bir daire çizer bir kütüphane sistemi math kitaplığı Sqrt() yöntemine bağlıdır. Sqrt() yöntemi değişirse, kitaplık buna göre güncelleştirmeniz gerekir. Donanım ve işletim sistemleri ekibi projeniz daha az sık değiştirin. Ancak, hiçbir koşulda değişiklikleri yok sayarak hataların sonuçlara yol açabilir. Kodunuzu geçerli varsayımlar ve planlandığı şekilde çalışır onu dayalı olup olmadığını incelemek için olabildiğince erken tümleştirebilirsiniz.

Kodda yapılan değişiklikler bağımlılıkları farklı etkileyebilir. İki durumda aşağıda gösterilmiştir. Soldaki örneğe nispeten yalıtılmış bir değişiklik gösterir. Ancak olduğundan birçok bağımlılıkları üzerinde sağ taraftaki örnek daha fazla potansiyel etkisi olan bir değişiklik gösterir.

Yapı ve Dağıtım Kodu Diyagramı

Değil bütünleştirmek ve kodunuzu sürekli yükseltmek, nasıl sabit değişiklikleri aşağıdaki şekilde gösterilmiştir bileşik etkileri olabilir.

Sürekli Yapı ve Dağıtım Kodu Zaman Çizelgesi

1. Adımda etkileyen büyük olasılıkla tüm bağımlı kod blokları a, b, kod bloğu h değiştirmek d, e ve f. Adım 2'de, her iki kod bloklarını değiştirmek bir ve b. Takım arasında 1 ve 2 adımlarını değil tümleştirirseniz engelleyen bir ve b artık geçerli olabilir. 3. Adımda kod bloğu f değiştirin. Takım arasında 2 ve 3 adımları tümleştirme değil varsayarsak, bu noktada kod bloğunu b etkilenen, değiştirilen ve yeniden etkilenen. Sonuç olarak, kod bloğunun b düzeltmek için zor hale gelebilir.

Visual Studio 2010 içinde sürekli tümleştirme

Visual Studio ALMsürekli tümleştirmeyi desteklemek için tümleşik toolsets sağlar. Aşağıdaki resimde gösterildiği gibi bu araçları sürüm kontrolü dahil, oluşturmak, sınamak, bir laboratuar ortamında, iş madde izleme ve veri işlevselliği depolama dağıtım.

Sürekli Yapı ve Dağıtımda TFS

İlk olarak, kullanmak Team Foundation sürüm denetimi dalları, changesets ve bunları bütünleşmesi yönetmek için. Her ekip üyesinin çalışma alanları, bağımsız olarak çalışmak için kullanabilirsiniz. Daha fazla bilgi için Dallandırma ve Birleştirme ve Ekibin proje ile çalışmak için geliştirme makinenizi ayarlama.

İkinci olarak, kullanabileceğiniz Team Foundation Yapısı derlemek, test ve dağıtma yazılımınız bir otomatik ve Dağıtılmış Sistem. Önceki çizimde görüldüğü gibi Team Foundation Yapısı sahip iki tür yapılar. Bir tür geliştirme şube oluşturmak için sürekli bir yapý türü kullanır. Diğer bir ana dal oluşturmak için bir iade gated yapý türü kullanır. Visual Studio Team Foundation Serverbeş tür yapýlar destekler: (her iade tarafından tetiklenen), elle, sürekli çalışırken (önceki yapı bitene kadar iadelerin biriken), iade gated ve zamanlanmış. Daha fazla bilgi için bkz: Temel yapı tanımı oluşturma, Team Foundation Yapı Sistemini Anlama, ve İçinde bir onay bekleyen bir Gated iade tarafından kontrol edilen değişiklikleri yaparsınız?.

Üçüncü olarak, Laboratuvar yönetimi yeteneklerini Visual Studio ALM tanımlamak ve dağıtmak yapılarda hem fiziksel ve sanal laboratuar ortamları. Belirli bir ortamda zamanında tümleştirmesi hatalarını yakalamak için bir yapı bir laboratuar ortamında dağıtma ve sınama paketlerini bu yapı üzerinde çalıştırın. Daha fazla bilgi için bkz. Sanal laboratuar, uygulama yaşam döngüsü için kullanma.

Buna ek olarak, yetenekleri test Visual Studio ALM Ekip üyelerinizin sitesinde kullanılabilir makineleri, yapı makine ve laboratuar ortamı içinde. İlk olarak, sınama paketlerini geliştirici makinede çalışan, en son değiştirilen veya oluşturulan kodu ile ilgili sorunlar yakalıyor. İkinci olarak, diğer kod ile Entegrasyonu ile ilgili yapım makine catches sorunları testleri çalışıyor. Üçüncü olarak, sınama laboratuarında çalışan ekip yapılandırır belirli bir ortam ile ilgili sorunları yakalıyor. Daha fazla bilgi için bkz: Nasıl yapılır: Uygulamanızı Oluşturduktan Sonra Zamanlanmış Testleri Yapılandırma ve Çalıştırma.

Not

Testlerinin test taleplerinizi karşılamak ne kadar kodu anlamak için kullanabilir kod kapsamı ölçülerini oluşturabilir. Ancak, kod kapsamı ölçü test anlatılmıştır veya kalite için kullanamazsınız. Daha fazla bilgi için bkz. Nasıl yapılır: Otomatikleştirilmiş Testler için Test Ayarlarını Kullanarak Kod Kapsamını Yapılandırma.

Dördüncü, Visual Studio Team Foundation Server olan depo mağazaları çözüm öğeleri. Oluşturmak, yönetmek ve hataları veya ekip üyelerine atanan görevler gibi çalışma öğelerini izleyebilirsiniz. Ekibiniz bir yapı kodu entegrasyonu sırasında bozarsa, sorunu olabildiğince çabuk düzeltmeniz gerekir. Yapılandırabileceğiniz Team Foundation Server oluşturmak için çalışma öğeleri Yapı sonu. Daha fazla bilgi için bkz. Hataları, Görevleri ve Diğer Çalışma Öğelerini İzlemek.

Last, ambar için veritabanlarını Team Foundation Server ve SQL Server Analysis Services toplama ve alt sistemleri tarafından sağlanan tüm veriler arasında ilişki Team Foundation Server. Bu alt sistemler dahil sürüm kontrolü, yapı, sınama, dağıtma ve madde izleme çalışır. Bu nedenle, ekibiniz sürekli tümleştirme uçtan uca işlem görselleştirmek. Daha fazla bilgi için bkz: Visual Studio ALM için İlişkisel Ambar Veritabanını Kullanarak Raporlar Oluşturma.

Hazır ve başlatılan alma

Ekibiniz sürekli tümleştirmesi'ni kullanmaya başlamak için aşağıda alabilir ve Team Foundation Server:

  1. Use Team Foundation sürüm denetimi kod içine bütünleştirmek içinbir tek kod Bankası.

  2. Bir el ile yapı türünde oluşturun Team Foundation Yapısı.

  3. Oluþturma kalitesini doğrulamak için otomatikleştirilmiş sınama durumlarda çalıştırın. Uygun sınama kümesi yoksa, yer tutucu sınama kümesi oluşturun ve birkaç otomatik sınama durumlarda alın. Bu paketi, gelecekteki sınaması için yer tutucu olarak hizmet verebilir.

  4. Paylaşılan bir konuma bir yapı elde edilen ikili teslim olun. Bu strateji, sınama sırasında görünen sorunları tanılamanıza yardımcı olabilir.

  5. Use Microsoft Test Yöneticisi belirli bir ortam. zamanında tümleştirmesi hatalarını yakalamak için

Sürüm Denetimi

Versiyon kontrol sistemine kodunuz için paylaşılan bir depo sağlar. Küçük bir ekip, tek bir dalı ile çalışabilirsiniz. Ancak, genellikle birden çok sürümünün kod geliştirmek ve gerekir farklı aşamalar projenizde serbest bırakmak için iki veya daha fazla dalları ile çalışmaya daha elverişlidir. Nasıl oluşturulacağı ve kod dallarýný birleştirme hakkında daha fazla bilgi için aşağıdaki sayfa CodePlex Web sitesine bakın: Team Foundation Server dallanma Kılavuzu 2.0.

Yapılandırma

Sürekli tümleştirme sınanmış ve dağıtılan yürütülebilir bileşenleri bir oluþturma sistemi oluşturur. Oluþturma sistemi de derleme hataları ve Uyarıları şeklindeki görüş sağlar. Bu hatalar, proje kaynağınız sunulan değişikliklerden kaynaklanır.

Team Foundation YapısıAşağıdaki yapı türü sağlar:

  • El ile – yapılar ekip üyeleri tarafından atılmış.

  • Sürekli – yapılar bir iade için bir sürüm kontrolü şube tarafından atılmış.

  • Çalışırken – yapılar biriken önceki yapı bitene kadar.

  • Gated iade – iadelerin kabul edildiği gönderilen değişiklikleri birleştirme ve başarıyla oluşturmak.

  • Zamanlanmış – yapılar üzerinde tanımlı bir zamanlama oluşur.

Daha fazla bilgi için bkz. Temel yapı tanımı oluşturma.

Sürekli tümleştirme başarıyla uygulamak için ekip üyelerinden beklentileri nelerdir?

Ekip üyeleriniz, böylece oluşturmak için 10 dakikadan uzun aldıkları kaynakları düzenlemeniz gerekir. Daha büyük projeler için bu frekansı mümkün olmayabilir. Kullanarak Team Foundation Server, ekip, çeşitli yapı tanımları farklı alt kümelerine yapı yapılandırabilirsinizkod Bankası. Yapılar uzun sürebilir, sürekli olarak değişmeden kodu için ikili dosyalar oluşturmak için çalışırken bir yapý türü kullanabilirsiniz.

Bir yapý sonları ne, ekip oluşturma hemen düzeltmelisiniz. Olan sonları çoğu ana dal tarafından hatalı bir ters tümleştirme etkilenmez varsayılarak, build bileşeninden bir hatalı onay iş şube veya ileri bir mainline şube tümleşmesini. Bir süre için bir ekip üyesine yapı sonlarını düzeltme görevi atamak için iyi bir fikirdir ve ekip üyeleri arasında bu atama döndürmek için.

Günde kaç yapılar çalıştırılması gerekir?

Kodunuzu sürekli entegre, her kategoride her oluşan iade için sürekli bir yapý çalıştırabilirsiniz. İade edilen yeni kodu bağımsız çalışırken bir yapı da çalıştırabilirsiniz. Daha fazla bilgi için bkz:Temel yapı tanımı oluşturma ve Çalışan yapı ilerlemesini izleme.

Team Foundation Server kod daha hızlı oluşturmanıza nasıl yardımcı?

Artımlı yapýlar için yapı tanımı yapılandırma oluşturma hızını artırmak yardımcı olur. Build günlükleri yapı yavaş bölümlerini tanımlamak için kullanabileceğiniz geliştirmek için bir fırsat olduğu. Daha fazla bilgi için bkz. Team Foundation yapı artımlı bir yapı için yapılandırma.

Nasıl Yardım ölçek sürekli tümleştirme Foundation ekip olabilir?

Yapı denetleyicileri ve yapı aracılarının sürekli tümleştirme döngüsü ölçeklendirme yardımcı olabilir.

Daha fazla bilgi için bkz. Team Foundation Yapı Sistemini Anlama.

Sınama ve dağıtım

Nasıl sınama ve dağıtım sürekli tümleştirme uygun?

Aşağıdaki resimde gösterildiği nasıl sınama ve dağıtım özellikleri Visual Studio ALM uygun sürekli tümleştirme.

Testi sürekli tümleştirmeye uydurma

İlk olarak, kodunuzu sürekli entegre, yapı kodla sorunlarını bulabilirsiniz. Yapı başarılı veya, kullandığınız derleyici derleme değil. Hata ve Derleyici uyarı iletilerini içeren bir yapı rapor oluşturabilir. De Visual Studio ALM, yapı raporu da sağlar bilgileri olduğu gibi düzeltilen Bu yapı, hangi changesets Bu yapı içinde bulunan ve kod analiz yapmadığınıza sırasında yapı. Kullanarak Visual Studio ALM, kodunuzun tasarım ekibinizin tanımlayan kurallara olup olmadığını doğrulayabilirsiniz. Daha fazla bilgi için bkz: .NET Kodu Katman Diyagramlarına Karşı Nasıl Doğrulanır.

İkinci olarak, kodunuzu sorunları birimi sınamaları çalıştırarak bulabilirsiniz. Bu sınamalar derleyiciler farklı sorunlarında tanı koyma. Derleyici kurallarına kod sözdizimini ve dil yapıları sorunlarını denetleyin. Buna karşılık, (tamamlandıktan sonra bir yapı üzerinde çalışabilir) birimi sınamaları hiçbir işlev kodu bölümünü doğrulayabilirsiniz. Bu birim testleri, bir dizi birim testi verilen bir yapı üzerinde kod kapsamı gibi ölçümleri de sağlayabilir. Daha fazla bilgi için bkz. Nasıl yapılır: Otomatikleştirilmiş Testler için Test Ayarlarını Kullanarak Kod Kapsamını Yapılandırma.

Kullanarak Microsoft Test Yöneticisi, belirli bir ortamda, çalıştırabilirsiniz yapılandırınsınamaları. Yalıtılmış birimi sınamaları işlevsel doğrulama düzeyini sağlar. Ancak, ortamlar, aşağıdaki önemli yönü vardır:

  • Değişen ortamlar, kod çalışma şeklini etkileyebilir. Örneğin, ağ ayarlarını ve topoloji sınama laboratuarı yönetim ortamı zor olabilir.

  • Belirli bir ortamda kod dağıtım otomatikleştirme ekibinizin dağıtım süresini azaltmak ve dağıtım yineleme sayısını artırmak yardımcı olur.

Daha fazla bilgi için bkz:How to: Create an Environment from Virtual Machine Templates ve Testleri Çalıştırmak veya Veri Toplamak için Test Makinelerini Ayarlama.

Sürekli tümleştirme etkinleştirmek için benim sınama paketlerini nasıl organize edebilirsiniz?

Çok fazla sınamalar tamamlandığında yapı geciktirebilirsiniz çünkü sürekli sizin yapýlar için en önemli olan sınama paketlerini çalıştırabilirsiniz. Bu sınamalar için geçerli yineleme çalıştırıldığından emin olun.

Bir gecelik veya zamanlanmış yapı döngüsünde önceki yapılar ve önceki sprints işlevlerini doğrulamak tam sınama geçişleri testleri de çalıştırabilirsiniz.

Sürekli tümleştirme sınaması takımı nasıl etkiler?

Sürekli tümleştirme, böylece test ekibinizin çalışma ve hatalı yükleme oluşturur zaman harcamamasını hataları içeren yapılar tanımlamaya yardım eder.

Proje tümleştirme ve iletişim

Sürekli tümleştirmeyi uygulamak çaba projenizin boyutuna bağlı olarak önemli olabilir. Ekibiniz, tanımlamak ve projenin ilk sprint, sürekli tümleştirme için iş zamanlamak.

Aşamaları sürekli tümleştirmesine Birliği istiyorsanız, otomatik yapı uygulayarak başlatabilirsiniz. Daha sonra birim testlerinin içerecek şekilde değiştirebilirsiniz. Son olarak, bir laboratuar ortamında sınanmış yapı dağıtma yetenekleri ekleyebilir ve sonra değişen ortamı kod etkileyip etkilemediğini doğrulamak için ortamı içinde sınamalarını çalıştırabilirsiniz.