TFVC depoları oluşturma

Azure Pipelines | Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2015

Not

Microsoft Team Foundation Server (TFS) 2018 ve önceki sürümlerde derleme ve yayın işlem hatları tanımlar, çalıştırmalar derlemeler, hizmet bağlantıları hizmet noktaları,aşamalar ortamlar ve işler olarak adlandırılan aşamalar olarak adlandırılanlardır.

Derlemek için depoyu seçme

TFVC depo kullanan bir işlem hattını düzenlerken aşağıdaki seçenekleriniz vardır.

Özellik Azure Pipelines, TFS 2018, TFS 2017, TFS 2015.4 TFS 2015 RTM
Temizle Yes Yes
Yerel yolu belirtme Yes Hayır
Etiket kaynakları Yes Hayır

Not

Azure Pipelines, TFS 2017.2 ve daha yenisi: Aşağıdaki seçeneklerden bazılarını görmek için Gelişmiş ayarlar'a tıklayın.

Depo adı

Bu metin kutusunu yoksayın (TFS 2017 RTM veya daha eski).

Eşlemeler (çalışma alanı)

Yalnızca derleme işlem hattınıza gereken klasörleri eşle türünde bir değerle dahil edin. Eşlenmiş bir klasörün alt klasörü derleme işlem hattının gerektirmeyen dosyaları içeriyorsa, bunu Bir tür değeriYle Eşle ' olarak eşler.

Derleme işlem hattınıza gereken dosyaları içeren tüm klasörleri eşle'ye dikkat edin. Örneğin, başka bir proje eklerken çalışma alanına başka bir eşleme eklemeniz gerekir.

Klasör klasörlerine ihtiyacınız yok. Varsayılan olarak projenin kök klasörü çalışma alanında eşlenmiş olur. Bu yapılandırma, derleme aracılarının projenizin sürüm denetimi klasöründeki tüm dosyaları indirmesini sağlar. Bu klasör çok fazla veri içeriyorsa, derlemeniz derleme sistemi kaynaklarını boşa harcayarak ve gerektirmeyen büyük miktarda veri indirerek derleme işlem hattınızı yavaşlatabilirsiniz.

Projeleri kaldırıyorken, çalışma alanında kaldırabilirsiniz eşlemeleri bakın.

Bu bir CI derlemesi ise, çoğu durumda bu eşlemelerin Tetikleyiciler sekmesindeki CI tetikleyicinizin filtre ayarlarıyla eşlendiğinden emin olun.

TFVC çalışma alanını iyileştirme hakkında daha fazla bilgi için bkz. Çalışma alanınızı iyileştirme.

Aracıda yerel repo temizleme

Derleme çalışmadan önce, kendi içinde barındırılan aracının çalışma dizinini temizlemenin farklı biçimlerini gerçekleştirebilirsiniz.

Genel olarak, kendi içinde barındırılan aracılarınızı daha hızlı performans için, repo temizlemeyin. Bu durumda, en iyi performansı elde etmek için, derlemek için kullanmakta olan görev veya aracın herhangi bir Temiz seçeneğini devre dışı bırakarak artımlı olarak da derlemeye devam edin.

Bir önceki derlemede yer alan artık dosyalardan kaynaklanan sorunları önlemek için, (örneğin,)po temizlemeniz gerekirse seçenekleriniz aşağıda verilmiştir.

Not

Microsoft tarafından barındırılan bir aracı kullanıyorsanız temizleme uygun değildir çünkü bu durumda her zaman yeni bir aracı alır.

Azure Pipelines, TFS 2018, TFS 2017.2

Repo'ları temizlemek için trueseçeneğini belirleyin ve ardından aşağıdaki seçeneklerden birini belirleyin:

  • Kaynaklar:Derleme işlem hattı, tüm değişikliklerin geri alınarak altındaki geçerli çalışma alanını puanlar.

  • Kaynaklar ve çıkış dizini:Yukarıdaki Kaynaklar seçeneğiyle aynı işlem artı: Siler ve yeniden oluşturur.

  • Kaynaklar dizini:siler ve yeniden oluşturulur.

  • Tüm derleme dizinleri:siler ve yeniden oluşturulur.

TFS 2017 RTM, TFS 2015.4

True'yi seçerse derleme işlem hattı tüm değişiklikleri geri alır ve çalışma alanını puanlar.

Yukarıda açıklanan Clean anahtarının farklı şekilde çalışması için Değişkenler sekmesinde değişkeni tanımlayın ve değerini şu şekilde ayarlayın:

  • all sources klasörünü, ikili dosyalar klasörünü, yapıt klasörünü ve diğer tüm çalışma klasörünü içeren 'i $(Agent.BuildDirectory) silmek için.

  • source silmek istediğiniz $(Build.SourcesDirectory) .

  • binarysilmek için . $(Build.BinariesDirectory)

TFS 2015 RTM

Depo klasörünü silmek için true'yi seçin.

Etiket kaynakları

Takımınıza, tamamlanan derlemede her bir dosyanın hangi sürümünün dahil olduğunu kolayca tanımlaması için kaynak kod dosyalarınızı etiketlemek istiyor olabilirsiniz. Ayrıca kaynak kodun tüm derlemeler için mi yoksa yalnızca başarılı derlemeler için mi etiketlenmiş olacağını belirtme seçeneğiniz de vardır.

Not

Bu özelliği yalnızca derlemenizin kaynak deposu GitHub veya projenizin Git veya TFVC deposu olduğunda kullanabilirsiniz.

Etiket biçiminde, "All" kapsamına sahip kullanıcı tanımlı ve önceden tanımlanmış değişkenleri kullanabilirsiniz. Örneğin:

$(Build.DefinitionName)_$(Build.DefinitionVersion)_$(Build.BuildId)_$(Build.BuildNumber)_$(My.Variable)

İlk dört değişken önceden tanımlanmıştır. My.Variable, değişkenler sekmesinde sizin tarafından My.Variable

Derleme işlem hattı, kaynaklarınızı bir TFVC etiketiyle etiketler.

CI tetikleyicileri

Birisi kodu her kontrolettisinde derlemenin çalışması için Tetikleyiciler sekmesinde Sürekli tümleştirmeyi etkinleştir'i seçerek bu tetikleyiciyi etkinleştirin.

CI tetikleyicisi.

Toplu değişiklikler

Değişiklikleri sık sık karşıya yüken çok sayıda ekip üyesi varsa ve çalıştırmanız gereken derleme sayısını azaltmak için bu onay kutusunu işaretleyin. Bu seçeneği belirtirseniz, bir derleme çalıştır çalıştır tamamlandığında, sistem derleme tamamlanana kadar bekler ve ardından henüz oluşturmamış olan tüm değişikliklerin başka bir derlemesi kuyruğa eklenir.

Değişiklikleri toplu olarak işlerine dahil etmek ve bunları birlikte derlemek için kullanabilirsiniz.

Yol filtreleri

Dahil etmek ve hariç tutmak istediğiniz sürüm denetim yollarını seçin. Çoğu durumda, bu filtrelerin TFVC eşlemeleri ile tutarlı olduğundan emin olun. Bir derlemeyi tetiklemek istediğiniz dosya kümelerini azaltmak için yol filtrelerini kullanabilirsiniz.

İpuçları:

  • Yollar her zaman çalışma alanının köküne göre belirtilir.
  • Yol filtreleri ayarlanmayacaksa çalışma alanının kök klasörü varsayılan olarak örtülü olarak dahil edilir.
  • Bir yolu dışlarsanız, daha derin bir klasöre uygun olmadıkça bu yolu ekamazsınız. Örneğin , /tools'ı dışlarsanız/tools/trigger-runs-on-these
  • Yol filtrelerinin sırası önemli değildir.

Geçitli iade

Yeni değişikliklere karşı koruma için geçitli iadeyi kullanabilirsiniz.

Varsayılan olarak Filtreler için çalışma alanı eşlemelerini kullan seçilidir. Derlemeler, kaynak eşlemeleriniz içinde belirtilen bir yol altında bir değişiklik iadelendiğinde tetiklenir.

Aksi takdirde, bu onay kutusunu temizleyen ve tetikleyicide yolları belirtebilirsiniz.

Geliştiricilerinizi nasıl etkiler?

Geliştiriciler iade etmeye çalışmalarında, değişikliklerini derlemeleri istenir.

Geçitli iade istemi

Sistem daha sonra bir raf kümesi oluşturur ve oluşturur.

Geçitli iade deneyimi hakkında ayrıntılı bilgi için bkz. Geçitli iade derleme işlem hattı tarafından denetlenen bir klasöre giriş.

CI derlemelerini çalıştırma seçeneği

Varsayılan olarak, geçitli iade işlemi tamamlandıktan ve değişiklikler iade edildikten sonra CI derlemeleri çalıştırlanmaz.

Ancak, CI derlemelerini geçitli bir iadeden sonra çalıştırmak istemiyorsanız, Ci tetikleyicilerini işlenen değişiklikler için çalıştır onay kutusunu seçin. Bunu yaptığınız zaman, derleme işlem hattı değişiklik kümesi açıklamasına herhangi bir NO_CI eklensin. Sonuç olarak, iadeten etkilenen CI derlemeleri çalıştır olur.

Diğer bazı şeyleri de bilmek

  • Tetikleyicinize dahil edilen klasörlerin çalışma alanı eşlemelerinize de dahil olduğundan emin olun.
  • Geçitli derlemeleri Microsoft tarafından barındırılan bir aracıda veya kendi içinde barındırılan aracıda çalıştırarak.

SSS

İşlem hattını çalıştırarak aşağıdaki hatayı alıyorum:

The shelveset <xyz> could not be found for check-in

  • İş yetkilendirme kapsamınız koleksiyon olarak ayarlanmış mı? TFVC depoları genellikle koleksiyonunuz genelindeki projelere yayılır. Yalnızca kapsam koleksiyonun tamamı olduğunda erişilebilen bir klasörü okuyor veya yazıyor olabilirsiniz. Bunu kuruluş ayarlarında veya proje ayarında, Pipelines yapabilirsiniz.

İşlem hattını çalıştırarak aşağıdaki hatayı alıyorum:

The underlying connection was closed: An unexpected error occurred on a receive. ##[error]Exit code 100 returned from process: file name 'tf', arguments 'vc workspace /new /location:local /permission:Public

  • Bu genellikle hizmette teknik sorunlar yaşandığında oluşan aralıklı bir hatadır. Lütfen işlem hattını yeniden çalıştırın.

Puanlama nedir?

Scorch, sunucu ve yerel disk üzerinde kaynak denetimi sağlayan bir TFVC güç aracıdır. Bkz. Microsoft Visual Studio Team Foundation Server 2015 Power Tools.