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
Ekibinizi 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.
Sü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 .
Gece 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.
Bir 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.
Birden 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.
Ekip ü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 .
Bir derlemeyi normal bir aralıkta sıraya koymak için zamanlama tetikleyicisini kullanın
Zamanlama 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.
Zamanlama 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.
Bir 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ı .
Ö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).