Aracılığıyla paylaş


Yapım tetikler ve nedenlerini belirtin

Bir derlemeyi gerektiğinde el ile sıraya alabilirsiniz ancak ekibinizin gereksinimleri çoğu zaman en iyi şekilde otomatik Tetikleyiciler ile tanımlanan derleme işlemleri tarafından karşılanacak. Bir derleme tetiklendiğinde, belirli bir neden Reason özelliği içine kaydedilir. Bu konu derleme sürecinizi geliştirirken uygun bütün derleme tetikleyicilerinin ve derleme nedenlerinin nasıl kullanacağını anlatır ve açıklar.

  • Takım Hedeflerine Ulaşmak için Derleme Tetikleyicisini kullanın

    • Ekibinizi derleme sonlarından koruyun

    • Sürekli tümleştirmeyi kullanarak kaliteyi koruyun

    • Gece BVT lerini çalıştırarak ürün kalitesini denetleyin

  • Otomatik Derleme tetikleyicisini kullanın

    • Bir derleme değişikliği kaydedildiğinde derlemeyi sıraya koymak için Sürekli tümleştirme tetikleyicisini kullanın

    • Bir değişiklik ne kadar sık yürütüldüğüne bağlı olarak limitli bir şekilde işaretlendiğinde derlemeyi sıraya koymak için Rolling derleme tetikleyicisini kullanın.

    • Bir ekip üyesi bir değişikliği kaydettiğinde derlemeyi sıraya koymak için etrafı çevrili kaydetme tetiklemeyi kullanın ve derleme başarısız olursa değişikliği engelleyin

    • Bir derlemeyi normal bir aralıkta sıraya koymak için zamanlama tetikleyicisini kullanın

  • Bir Derlemeyi El İle Sıraya Koyun

    • Bir derlemeyi sıraya koyun

    • Özel bir derlemeyi sıraya koyun

  • Bir derlemeyi sıraya koymak için Özel Kod kullanın

  • Derleme tetikleyicileri ve nedenleri ile çalışın

Takım Hedeflerine Ulaşmak için Derleme Tetikleyicisini kullanın

Hh190718.collapse_all(tr-tr,VS.110).gifEkibinizi derleme sonlarından koruyun

Bir uygulama geliştiricisi derlemeyi sonlandıran değişiklikleri iade ederken, sonuç küçük takımlar için önemli bir mücadele olabilir. Büyük takımlar için maaliyet zamanlama gecikmeleri ve verimlilik kaybetme tarafından ölçüldüğü şekilde fazla olabilir. Bu probleme karşı bazı ya da bütün kod temellerinizi korumak için Etrafı Çevrili Kayıt tetikleyicisini kullanabilirsiniz.

Hh190718.collapse_all(tr-tr,VS.110).gifSürekli tümleştirmeyi kullanarak kaliteyi koruyun

Sürekli tümleştirme kodunuzu mümkün olduğunca sık paylaşılan bir depoya tümleştirme işlemidir. Kod tümleştirmesi sırasında bir derleme sonlandırması veya sınama hatası, kodunuzdaki bir hatayı zamanında bildirebilir. Sürekli tümleştirmesini uygulamak için Sürekli tünleştirme tetikleyicisini kullanabilirsiniz. Çalışan derlemeler tetikleyicisi Sürekli tümleme tetikleyicisine benze ve kaydın meydana geldiği her seferde bir derlemeyi yürütmek için yeteri kadar güçlü bir derleme sistemine sahip değilseniz faydalı olabilir.

Etrafı Çevrili Kayıt tetikleyicisi sürekli tümlemeye daha zorlu bir yaklaşım sunabilir. Sürekli Tümleme tetikleyici yapı sonları veya başarısız çekirdek birim testleri gibi sorunlar için uyarır ancak Etrafı Çevrili Kayıt tetikleyicisi bu tarz sorunları kod temelinize tanıtılmasından korur.

Derleme sisteminizi sürekli tümleştirmeyi desteklemek için nasıl kullanılacağınız hakkında daha fazla bilgi için bkz: Sürekli tümleştirmeyi desteklemek için oluşturma işlemi tanımla ve Oluşturma ve sürekli olarak dağıtma .

Hh190718.collapse_all(tr-tr,VS.110).gifGece BVT lerini çalıştırarak ürün kalitesini denetleyin

Derleme kalitenizi değerlendirmek için normal sınama çalıştırmalarını zamanlayabilirsiniz. Bu testler, çoğunlukla yapı doğrulama testi (BVT'ler) veya duman testi olarak adlandırılır. Bu testler belirli bir yapıda bulunan uygulamaya ilişkin anahtar alanları doğrulamak için kullanılan testlerin geniş bir paketini içerir. Gecelik BVT çalıştırmalarını yürütmek için Zamanlama tetikleyicisini kullanabilirsiniz.

Zamanlama tetikleyicisi hakkında daha fazla bilgi için bkz: Bir derlemeyi normal bir zaman aralığında sıraya koymak için Zamanlama'yı kullanın . Yapı oluşturma hakkında 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 .

Otomatik Derleme tetikleyicisini kullanın

Derleme tanımı için bir derleme tetikleyicisi belirtmeniz gerekir. Çoğu durumda derleme sürecinizin otomatik olarak çalışmasını isteyeceksiniz. Bu bölümde açıklanan otomatik tetikleyicilerden birini seçebilirsiniz.

Hh190718.collapse_all(tr-tr,VS.110).gifBir derleme değişikliği kaydedildiğinde derlemeyi sıraya koymak için Sürekli tümleştirme tetikleyicisini kullanın

Bir derlemeyi Sürekli Tümleme tetikleyicisi ile birlikte tanımlarsanız, bir ekip üyesinin her değişiklik kaydedişinde derleme sıraya koyulur. Derleme tanımı Çalışma Alanı hangi dosyaların derleme tanımını tetikleyeceğini belirler. Derleme çalışma alanları hakkında daha fazla bilgi için bkz: Yapı çalışma alanlarıyla çalışma .

Sürekli Tümleme tarafından tetiklenen derlemeler IndividualCI 'nin Reason öğesine atanır.

Hh190718.collapse_all(tr-tr,VS.110).gifBirden fazla kaydı normal aralıklarda derlemek için çalışan derleme tetikleyicileri kullanın

Eğer bir derlemeyi Çalışan Derlemeler ile birlikte tanımlarsanız, derleme sistemi derleme çalışmadığı sürece her kaydın derlemesini sıraya koyar. Derleme çalışıyorsa, sistem derleme tamamlanana kadar bekler ve sonra daha derlenmemiş kayıtların başka bir derlemesini sıraya koyar. Eğer her n dakikadan daha fazla derleme yapma onay kutusunu seçerseniz 0 ile 2147483647 arasında bir tamsayı değeri yazarsanız derlemelerin sıklığını sınırlayabilirsiniz.

Örneğin, tek bir derleme aracısına sahip olabilirsiniz ve her 20 dakikada bir derlemenizi bitirebilir. Sürekli tümleştirme tetikleyicisini kullanırsanız ve ekibiniz dokuz kez.10.00. ve.11.00. arasında bir kod kaydederse, son kayıt.13.00. ' a kadar olmayabilir ancak Çalışan Derlemeler tetikleyicisini kullanırsanız ve aralığı 60 dakika olarak belirtirseniz kayıtların aynı kümesi.11.20. 'ye kadar derlenebilir.

Derleme tanımı Çalışma Alanı hangi dosyaların derleme tanımını tetikleyeceğini belirler. Derleme çalışma alanları hakkında daha fazla bilgi için bkz: Yapı çalışma alanlarıyla çalışma .

Çalışan derlemeler tarafından tetiklenen derlemeler BatchedCI 'ın Reason öğesine atanır.

Hh190718.collapse_all(tr-tr,VS.110).gifEkip üyesi bir değişiklik kaydetmeye ve yapı başarısız olursa değişikliği engellemeye çalıştığında bir derlemeyi sıraya koymak için Etrafı Çevrili Kayıt tetikleyicisini kullanın.

Etrafı Çevrili Kayıt tetikleyicisi ile birlikte bir derleme tanımlarsanız bir takım üyesinin onayladığı sürüm denetim sistemine yapılan değişiklikler erteleme listesine konumlandırılır ve derlenmesi için sıraya konulur. Derleme, tamamlanması için iade süreci için başarılı olması gerekir. Derleme tanımı Çalışma Alanı hangi dosyaların derleme tanımına göre denetleneceğini belirler. Derleme çalışma alanları hakkında daha fazla bilgi için bkz: Yapı çalışma alanlarıyla çalışma .

Etrafı Çevrili Kayıt tarafından tetiklenen derlemeler CheckInShelveset 'ın Reason öğesine atanır.

Etrafı Çevrili Kayıt tetikleyicisini nasıl uygulanacağı hakkında daha fazla bilgi için bkz: Değişiklikleri doğrulamak üzere Gated onay oluşturma işlemini tanımla . Bu tür bir derleme tanımının ekibini nasıl etkilediği hakkında daha fazla bilgi için bkz: Bekleyen bir Gated iade tarafından denetlenen değişiklikleri iade etme oluşturmak .

Hh190718.collapse_all(tr-tr,VS.110).gifBir derlemeyi normal bir aralıkta sıraya koymak için zamanlama tetikleyicisini kullanın

Hh190718.collapse_all(tr-tr,VS.110).gifZamanlama tetikleyicisi

Zamanla tetikleyicisi ile birlikte bir derleme tanımlar ve Önceki derlemeden beri hiçbir değişik olmadıysa bile derle onay kutusunu temizlerseniz derleme bu günlerde ve değişikler bu derleme tanımının en yakın zamanda yürütülmesinden bu yana kaydedilmişse belirteceğiniz zamanlarda sıraya konur. Derleme değişikliklerin sonuncu iyi derlemeyle ilişkilendirilip ilişkilendirilmesinden bağımsız olarak sıraya konur.

Bu şekilde tetiklenen derlemeler Schedule 'ın Reason öğesine atanır.

İpucu

Eğer özel derleme işlem şablonu geliştirmekteyseniz ve şablonunuzun Nedene (tetikleyici) dayanan derleme sürecinizin bölümlerini sınırlayın (InvokeForReason etkinliği) bölümünün Neden özelliğinde Schedule 'ı değer olarak seçerseniz, bir çok durumda muhtemelen ScheduleForced 'ı seçmelisiniz.

Hh190718.collapse_all(tr-tr,VS.110).gifZamanlama tetikleyicisi (Nedeni: ScheduleForced)

Zamanlama tetikleyicisi ile birlikte bir derleme tanımlarsanız ve Bir önceki derlemeden bu yana hiçbir şey değişmediyse bile derle onay kutusunu seçerseniz derleme bu günlerde ve belirttiğiniz zamanlarda sıraya konur. Derleme değişiklikleri değişikliklerin kaydedilip kaydedilmediğinden bağımsız olarak sıraya konur.

Bu şekilde tetiklenen derlemeler ScheduleForced 'ın Reason öğesine atanır.

İpucu

Eğer özel derleme işlem şablonu geliştirmekteyseniz ve şablonunuzun Nedene (tetikleyici) dayanan derleme sürecinizin bölümlerini sınırlayın (InvokeForReason etkinliği) bölümünün Neden özelliğinde ScheduleForced 'ı değer olarak seçerseniz, bir çok durumda muhtemelen Schedule 'ı seçmelisiniz.

Bir Derlemeyi El İle Sıraya Koyun

Belirli durumlarda, otomatik olarak çalışmasını istemediğiniz bir derleme işlemine sahip olabilirsiniz.

  • Derleme tanımınız otomatik yürütmeler için hazır olmayabilr çünkü hala geliştirme sürecindedir.

  • Yalnızca el ile çalıştırmak istediğiniz bir özel derleme işlemine sahip olabilirsiniz.

Bu gibi durumlarda, El ile tetikleyicisini seçebilirsiniz. Derleme tanımı yalnızca bir ekip üyesi el ile sıraya koyduğunda çalışacaktır.

Hh190718.collapse_all(tr-tr,VS.110).gifBir derlemeyi sıraya koyun

El ile 'den başka bir derleme tetikleyicisi ile birlikte tanımlansa bile herhangi bir derleme tanımını el ile sıraya koyabilirsiniz. Bir derlemeyi el ile sıraya koyduğunuzda, Reason öğesi Manual 'e ayarlanır. Bir derlemeyi el ile sıraya koyma hakkında daha fazla bilgi için bkz: Sıra bir yapı .

Hh190718.collapse_all(tr-tr,VS.110).gifÖzel bir derlemeyi sıraya koyun

Erteme listesine yerleştirdiğiniz değişiklikleri derlemek isterseniz, kodunuzu kaydetmeden önce yaptığınız değişiklikleri doğrulamak için özel derleme ("arkadaş derleme" olarak da bilinir) kullanabilirsiniz. Özel bir derlemeyi sıraya koyduğunuzda, Reason öğesi ValidateShelveset 'e ayarlanır. Özel bir derlemeyi sıraya koyma hakkında daha fazla bilgi için bkz: Sıra bir yapı .

Tamamlanmış bir derleme oluşturmak için özel kodu kullanın

Microsoft.TeamFoundation.Build ad alanındaki sınıfları aktararak tamamlanmış derleme oluşturan özel kodu geliştirebilirsiniz. Bir derleme bu şekilde sıraya konursa, Reason öğesi UserCreated 'e ayarlanır. Daha fazla bilgi için, Extending Team Foundation: Build

Derleme tetikleyicileri ve nedenleri ile çalışın

Derleme sürecinizdeki tetikleyiciler ve nedenleri aşağıdaki şekillerde geliştirebilirsiniz:

  • Derleme süreciniz için tetikleyiciyi ayarlayın : derleme tanımızda, Tetikleyici sekmesini tıklayın ve ekibinizin gereksinimlerini en iyi şekilde karşılayan tetikleyiciyi seçin. Bir derleme tanımı oluşturma hakkında daha fazla bilgi için bkz: Yapı Tanımları Oluşturma .

  • Hangi derleme nedeninin özel derleme süreci tarafından kabul edildiğini tanımlayın : sadece belirli bir neden için çalışmış derlemelerde yürütmek istediğiniz derleme sürecinizin parçasını çevrelemek için InvokeForReason etkinliğini kullanabilirsiniz. Daha fazla bilgi için bkz. Nedene (tetikleyici) dayanan derleme sürecinizin bölümlerini sınırlayın (InvokeForReason etkinliği).