2011-10-18 26 views
5

Soru: Yalnızca bir MSTest aracısı çalıştıran uzak bir sistemde TFS 2010 derleme şablonundan bir dağıtım komut dosyasını nasıl çalıştırabilirim?Yalnızca MSTest aracı kullanarak uzak sistemde TFS oluşturma iş akışını çalıştırma dağıtım komut dosyasını çalıştırın

Bunun, test ayarları yapılandırma dosyasındaki Dağıtım bölümünü etkinleştirerek yapılabileceğini biliyorum, ancak bu yeterince esnek değil. Geceleri bir yapı çalışır. Yapı başarılı olduğunda, bir dağıtım komut dosyası bir bırakma konumuna yerleştirilir. Bırakma yeri tarih, proje ve yapı tanımına özeldir. Bu parametreler, kullandığımız TFS oluşturma şablonunda bulunur.

Sadece bir fiziksel sunucu olan Lab Management'ım yok. Fiziksel sunucuyu yalnızca kurulum yapmak için ek bir derleme aracıyla bozmamaya çalışıyorum. MSTest aracısı, görünüşe göre dağıtım komut dosyalarını çalıştırabiliyor, ancak bu işlevi TFS oluşturma iş akışından nasıl kullanırım? Örneğin, Lab Yönetimi olmadan RunDeploymentScript etkinliğini kullanabilir miyim?

cevap

5

PSExec, uzak bilgisayarlardaki komut dosyalarını çalıştırmak için harika bir araçtır. Bunu, MSI'leri Team Build'tan uzak bilgisayarlara kurmanıza olanak veren Team Deploy'da kullanıyorum. PowerShell'i uzak bilgisayarlarda da çalıştırabilirsiniz, ancak kurulumu biraz daha karmaşıktır. Başka bir seçenek MSDeploy kullanmaktır. Uzak bir bilgisayarda herhangi bir komutu çalıştırabileceğiniz bir komut seçeneği vardır. Genelde yapı sunucusundaki bir PowerShell betiğini çağırmak için bir InvokeProcess aktivitesini kullanırım. PowerShell betiğinden, hedef sunucuda uzak bir PowerShell betiğini çalıştırmak için MSDeploy'u aradım. Kulağa kötü geliyor ama iyi çalıştı.

Hedef makinede RunDeploymentScript'i çalıştıramazsınız. Fiziksel çevreye dağıtmak için değiştirilmiş bir şablon kullanabilirsiniz. Here is a good post on doing this.. Yukarıda bahsettiğim seçenekler üzerinde herhangi bir ajana gerek yok. Laboratuvar Yönetimi olmadan ExecuteRemoteTestRun laboratuar yönetim etkinliğini, MTM Testlerini Test Aracı ile birlikte proje koleksiyonuna (Test Yöneticisi) kayıtlı bir Test Denetleyicisi ile çalıştırmak için kullanabilirsiniz.

Bu seçeneklerden herhangi biriyle ilgili sorularınız olursa bize bildirin.

+0

Cevabınız, ileriye dönük olarak benimsediğimiz yaklaşımla uyumlu. Dün, PSExec'i problemin olası bir çözümü olarak tanımladık. Dağıtım komut dosyalarını yürütme yeteneğine sahip bir test aracısı IS'yi görmek çok yorucu olmakla birlikte, bu işlevselliği bir yapı iş akışından kullanmanın doğrudan bir yolu yoktur. Her neyse, daha büyük izleyici için, bu doğru cevap, teşekkürler! – kroonwijk

+0

Harika! Evet, bu özelliklerin çoğundan yararlanmak güzel olurdu. Lab Mangement oluşturma tanımı ve fiziksel ortam dağıtım değişiklikleri, dağıtım komut dosyalarını çalıştırmak için derleme aracısını kullanır. TFS 11'de, Lab Yönetimi uygulamaları, "standart ortamlar" olarak adlandırılan fiziksel ortamları destekleyecektir. Ayrıca, ajan kurulumlarını basitleştirdiler ve sadece test ajanını gerekli kıldılar. Ortamlarda makineler için artık laboratuar ve yapım aracıları yok. PSExec ile herhangi bir zorlukla karşılaşırsanız bana bildirin. – MikeDouglasDev