Aracılığıyla paylaş


Platformlar arası Team Foundation Server istemcisi komut satırı komut dosyası oluşturma

Kaynak kodu denetimi ve teslim etme gibi görevleri otomatik hale getirmek ister misiniz? İşin yapılması için dış veya iç otomasyonu kullanabilirsiniz. İlk olarak, bu iki otomasyon modunu inceleyelim. Ya da doğrudan pros and cons öğesine atlayabilirsiniz.

Dış otomasyon

Dış otomasyon tf komut satırı aracını arka arkaya her seferinde tamamen bağlamsal argümanlarla çağırmak için başka bir süreç yapılandırır. Bu modu etkinleştirmek için herhangi bir özel sözdizimine gerek yoktur. Bu yöntemi uygulamak için aşağıdaki dış işlemlerden birini kullanabilirsiniz:

  • Sh, ksh, bash veya csh gibi bir Unix kabuğu

  • Perl veya komut dosyası için kullanılan başka bir programlama dili

  • Apache Ant veya başka bir derleme yönelimli araç

  • tf programını başlatabilen ve bağımsız değişken sağlayabilen diğer bir araç.

İç otomasyon

İç otomasyon tf komut satırı aracını otomasyon işlemini yönetecek ve argüman olarak iletilen bir komut dosyasını yorumlayacak şekilde yapılandırır. @ simgesini hemen ardından bir yerel yol takip edecek şekilde komut dosyasına sağlayarak iç otomasyonu çağırabilirsiniz. Bu komut satırında girdiğiniz her bir ek bağımsız değişken, konumsal bağımsız değişken olarak komut dosyasındaki komutlara kullanılabilir.

Not

Komut dosyanız ile standart girişi işlemek için, arkasında dosya adı olmadan @ simgesini koyun (tf@).Giriş akışı, platformunuzun varsayılan kodlama ve karakter kümesine göre metin olarak yorumlanır.

Aşağıdaki komut dosyası bir dosyanın belirtilen sürümünü alır ve bu sürümle ilgili ayrıntılı geçmiş bilgilerini yazdırır.

# This line is ignored because it is a comment.
get "-version:%2" -force "%1"
history -format:detailed "-version:%2" "%1"

/home/john/get-and-history.tfc adlı komut dosyası iki konumsal bağımsız değişken bekler, böylece aşağıdaki örneğin gösterdiği gibi bunu çalıştırabilirsiniz:

tf @/home/john/get-and-history.tfc README.doc C5087

İlk bağımsız değişken BENİOKU.doc, her satır yorumlandığında %1 yerine konur. C5087 %2'nin yerine geçer.

Not

Komut dosyasında yerine geçirilen değerler boşluk içerebileceği için (örneğin, bir dosya adı veya bir tarih sürümü belirtimi) her iki konum argümanları çift tırnak işareti arasına alınır.

Komut dosyasının biçimi, Genişletilmiş Backus-Naur Formu (EBNF) ile açıklanabilir:

command file ::= { line } ;
line ::= comment line | blank line | action line , EOL ;
comment-line ::= "#" | "rem" , { ? any non-EOL character ? } ;
blank line ::= { ? any whitespace character ? };
action line ::= tf command , [ { white space , tf option } ] , [ { white space , tf free argument } ] ;
tf command ::= ? any tf command ?
tf option ::= ? any tf option ? | positional argument ;
tf free argument::= ? any tf free argument ? | positional argument ;
positional argument::= "%" , non-zero digit , [ { digit } ] ;
EOL ::= ? your platform's EOL character or sequence ?
white space ::= { ? any non-EOL whitespace character ? }
digit ::= "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
non-zero digit ::= "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9" ;
  • tf command; get, workfold ve workspace gibi herhangi bir geçerli tf komutu olabilir.

  • tf option; -login, -profile ve -format gibi herhangi bir geçerli tf seçeneği olabilir.

  • tf free argument; tf öğesine ilişkin bir serbest bağımsız değişken olarak tasarlanmış sunucu yolu ve yerel yol gibi herhangi bir dize olabilir.

  • positional argument, dış tf komut satırı bağımsız değişkenlerinin yerine koyulan bir metin yer tutucusudur. Sayı, "%1" ve "%2" gibi değiştirmek istediğiniz komut satırı bağımsız değişkeninin dizinine karşılık gelen pozitif tam sayıdır. %1 ilk bağımsız değişkene başvurur. Komuttan sonra konumsal bağımsız değişkenleri seçenek olarak veya boş bağımsız değişken olarak herhangi bir sırayla kullanabilirsiniz.

Not

Boşluk içeren seçenekleri ve bağımsız değişkenleri çift tırnak işareti içine alın.Örneğin, bir etiket belirleyici için “-version:LRelease 2.1”, bağımsız bir argüman için “$/Inventory/Client Project/main.c” ve boşluk içerebilecek olan konumsal bir argüman için "%1" kullanın.Yalnızca çift tırnak, komut dosyalarında seçenek sınırlarını gösterir.Tek tırnaklar metinsel olarak yorumlanır.Eylem satırınızda değişmez değer çift tırnak işareti belirtmek için, iki adet çift tırnak işaretini birlikte ("") kullanmanız gerekir.Kabuğunuz komut dosyasındaki satırları ayrıştırmadığından, komut dosyaları içinde tırnak içine alma kuralları, kabuğunuzun kullandığı kurallardan farklılık gösterebilir.

İki yöntemin avantajları ve dezavantajları

Bu durumda dış veya iç otomasyon arasından hangi yöntemi kullanmanız gerekir? Ve her yöntemin avantajları ile dezavantajlarına göz atalım:

Dış otomasyon

İç otomasyon

Avantajlar

  • Daha esnektir, çünkü yalnızca tf komutlarını değil, başka komutları da çalıştırabilir.

  • Basittir. Dış işlemi veya dili biliyorsanız, diğer komut satırı işlerinde yaptığınız şekilde tf komut satırı aracını çağırırsınız.

  • Hata ayıklamak kolaydır. Bazı komutlar beklediğiniz gibi çalışmıyorsa, sorunları tanılamak için komut satırındaki komutları değiştirmeniz gerekmez.

  • Dış yöntemden daha hızlıdır. Java sanal makine yalnızca bir kez yüklendiğinden ve komut satırı aracı sunucuyla bağlantılarını tekrar kullanabildiğinden, her komutu ayrı çalıştırdığınızdakinden çok daha hızlı şekilde bir komut dosyasındaki birden çok komutu çalıştırabilirsiniz.

Cons

  • İç otomasyondan daha yavaştır. Çalıştırdığınız her komut için, CPU Java sanal makineyi başlatmak ve istemciyi çalışmaya hazırlamak için zaman harcamalıdır.

  • Dış işlem hataları algılamalıdır. Dış işlem her yürütmenin çıkış kodunu sınamıyorsa, işlem bir hatayı kaçırabilir.

  • Programlaması daha hantal olabilir. Dış işlem, tf komut satırı aracını her kullandığında tüm ilgili seçenekleri sağlamalıdır ve bağımsız değişkenler özel tırnak içine alma veya kaçmayı gerektirebilir.

Dış otomasyondan daha az esnektir. Nedeni şudur:

  • Komut dosyasında yalnızca tf komutlarını belirtebilirsiniz, bu nedenle tf komutları arasında başka görevler yapmak istiyorsanız birden fazla komut dosyası yazmanız ve her birini çalıştırmanız gerekebilir.

  • Yürütme, ilk karşılaştığınız hata durumunda durur. Aracı herhangi bir hata koşulunu atlamaya veya yok saymaya zorlayamazsınız.

  • Normal çıktıyla veya hata çıktısıyla uğraşmak daha karmaşık gelebilir. Aracı iç otomasyon ile çalıştıran bir süreç, komut dosyasında hangi satırın hangi normal çıktının kısmını ürettiğini belirleyemeyebilir.

Ayrıca bkz.

Diğer Kaynaklar

Command-line Reference (Team Explorer Everywhere)