Aracılığıyla paylaş


Laboratuvar yönetimi iş akışını özelleştirme

 

Yayýmlanma: Nisan 2016

Laboratuar ortamlarıyla varsayılan Laboratuar şablonunu (LabDefaultTemplate), uygulamanızı oluşturmayı otomatikleştirmek için, yeni yapı bir laboratuar ortamında dağıtma ve yeni testler çalıştırmak için kullanabilirsiniz. Laboratuvar varsayılan şablon kullanma hakkında daha fazla bilgi için bkz SCVMM ortamı için yapı derleme, dağıtma, test iş akışı oluşturma ve Standart ortam için yapı derleme, dağıtma, test iş akışı oluşturma. Ancak, her yapı, dağıtım ve test işlemi farklı gereksinimleri nedeniyle biraz farklı olabilir. Örneğin bir iş akışı test ikililerinin normal yapı konumundan kopyalanmasını gerektirebilir, bu durumda başka bir iş akışı test ikililerinin geçici bir konumdan kopyalanmasını gerektirir. Veya bir iş akışı, sınayıcıların dağıtabilmesi için SCVMM kitaplığında kaydedilmesini gerektirebilir, keza başka bir iş akışı laboratuar ortamını hiç kaydetmez. Laboratuvar varsayılan şablonu Windows Workflow 4.0'ı temel aldığından tümüyle genişletilebilir ve özelleştirilebilir. Bu sayede belirli gereksinimlerinizi karşılamak üzere LabDefaultTemplate öğesini özelleştirebilirsiniz. Bu konu, varsayılan Laboratuar şablonunu özelleştirmek için genel adımları açıklar.

Gereksinimler

  • Visual Studio Enterprise Visual Studio Test Uzmanı

Burada, laboratuar varsayılan şablonunu özelleştirme işleminin yararlı olduğu bazı senaryolar vardır:

  • Yapı bırakma konumundan farklı olarak test ikili dosya konumu belirlemek üzere özelleştirme

  • Dağıtımdan sonra makinenin yeniden başlatılmasını gerektiren uygulama yükleyicilerini destekleyen özelleştirme

  • Kaynak denetim dosyalarını okumak üzere özelleştirme

  • Yapı aracısı hesabı kullanılarak yapı bırakma konumuna erişmek üzere özelleştirme

  • Laboratuvar hizmeti hesabını kullanarak diğer konumlara erişmek üzere özelleştirme

İş Akışı Özelleştirmede Temel Kavramlar

İş akışı özelleştirme ile ilgili üç temel kavramı vardır:

  • Şablon Şablon, iş akışının bir parçası olan etkinlikler veya adımlar dizisini tanımlar. Şablon, Windows Workflow Foundation 4.0'ı temel alır ve Kaynak Denetimi'nde .xaml dosyası olarak depolanır. Şablonu İş Akışı Düzenleyicisi'ne yüklemek için, .xaml dosyasını çift tıklayın. Düzenleyici'de iş akışını belirleyen çeşitli etkinlikleri ve sıraları görebilirsiniz. Daha sonra değişkenleri farklı kapsamlar, koşullu mantık, döngüler ve benzerleriyle birlikte, şablonu programlamak için istediğiniz başka programlama diliyle kullanabilirsiniz. Windows Workflow Foundation, gereksinimlerinize uyacak şekilde varsayılan Laboratuar şablonunu özelleştirmenizi sağlar.

  • Etkinlikler Etkinlik, bir iş akışının yapı bloğudur ve varsayılan şablon birçok etkinliği kullanır. Team Foundation Laboratuar Yönetimi Etkinlikleri başlığı altındaki Araç Kutusu'nda ek etkinlikler bulabilirsiniz. İş akışında etkinlik kullanmak için bunu araç kutusundan Visual Studio İş Akışı Düzenleyicisinde şablondaki uygun konuma sürükleyin. Etkinliğin özelliklerine bakarak giriş ve çıkış parametrelerini saptayabilirsiniz. Laboratuvar Yönetimi etkinlikleri hakkında daha fazla bilgi için Laboratuvar yönetimi iş akışı etkinlikleri. Ürün ile birlikte sunulan etkinlikler gereksinimlerinizi karşılamaktan uzaksa, yeni etkinlik ekleyebilirsiniz.

  • Bağımsız değişkenler Kullanıcıdan almanız gereken girdiler için yeni girdi bağımsız değişkenleri oluşturabilir, bu değerleri etkinleştirebilirsiniz. Mevcut bağımsız değişkenleri görmek için İş Akışı Düzenleyicisi penceresinin altından Bağımsız Değişkenler sekmesini seçin. Yeni bağımsız değişkenler oluşturuyorsanız bunlar yapı tanımında Yapı İşlem Parametreleri bölümü, İşlem sekmesinde görünecektir.

Özelleştirme gereken aşağıdaki iki örneği gözden geçirirken bu kavramlar hakkında düşünün. İlk örnek, şablonda varolan bir etkinliğin bağımsız değişken içi öğesinin nasıl değiştirileceğini, ikinci örnek ise araç kutusundan yeni etkinliklerin nasıl ekleneceğini anlatır. Bu örnekler, gereksinimlerinize göre varsayılan Laboratuar şablonunu özelleştirmek için yeterli içeriği size sağlayacaktır.

Özelleştirmeye Başlamadan Önce

Laboratuar varsayılan şablonunu özelleştirmeye başlamadan önce tamamlamanız gereken bazı genel adımlar vardır. Aşağıdaki diyagram bu adımları gösterir.

Klasör konumu için varsayılan iş akışı şablonları

Özelleştirmeye hazırlanmak için

  1. Ekip Gezgini öğesinde ekip projeniz için Kaynak Denetimi düğümünü çift tıklatın.

  2. İçindeki kaynak denetimi gezginini, kaynak denetimi ağacı genişletin ve bulmak $/ < Project_Name > / BuildProcessTemplates klasör.

  3. Bu klasörü yerel bir klasöre eşleyin, örneğin, C:\Sources.

  4. LabDefaultTemplate.11.xaml dosyasına sağ tıklayın ve sonra En son sürümü Al öğesini seçin.

  5. LabDefaultTemplate.11.xaml dosyasının bir kopyasını oluşturun ve örneğin, LabDefaultTemplate_customize.11.xaml gibi yeni bir ad verin

  6. Yeni dosyayı Kaynak Denetimine ekleyin.

  7. Bu yeni dosyayı çift tıklayın. Dosya Visual Studio İş Akışı Düzenleyicisi'nde açılır.

Ardından, varsayılan Laboratuar şablonundan yaptığınız kopyayı özelleştireceksiniz.

Yapı bırakma konumundan farklı olarak test ikili dosya konumu belirlemek üzere özelleştirme

Varsayılan iş akışı şablonu LabDefaultTemplate'te, test ikililerinin konumunun yapıların bırakıldığı yer ile aynı olduğu varsayılır. Ancak, sizin durumunuzda test kodu ürün koduyla yerleşik olmayabilir. Bu olursa şablonu test ikililerinin farklı bir konumdan alınacağı şekilde özelleştirmek isteyebilirsiniz. Bu özelleştirme, aşağıdaki çizimde gösterildiği gibi üç adımdan oluşur.

LabManagement etkinlik Toolbox'tan sürükleyerek

İkili Test Yolu Belirlemek İçin Bağımsız Değişken İçinde İş Akışı Tanımlama

Bir in- bağımsız değişkeni tanımlamak için

  1. İş akışı düzenleyicisi penceresinin en altında Bağımsız değişkenler sekmesini tıklayın.

  2. Bağımsız değişken Oluştur öğesini seçin. Metin kutusuna bağımsız değişken sahibinin, TestBinariesLocation gibi adını yazın. Yön açılan listesinde İçeriyi seçin. Bağımsız değişken türü içindeki açılan listeden Dize'yi seçin.

Bir Bağımsız Değişken Değerinin ExecuteRemoteTestRun Etkinliğine geçirilmesi

Bu etkinlik, bir uzak test çalıştırması oluşturur, tamamlanana kadar bekler ve ardından test çalıştırma istatistikleriyle yapı bilgilerini güncelleştirir.

Bağımsız değişken değerini geçirmek için

  1. İş akışı düzenleyicisinde Testleri Çalıştırma etkinliğine kaydırın. Etkinliğin görünen adı Çalışan Testler olmasına rağmen etkinlik Türü ExecuteRemoteTestRun şeklindedir.

  2. Etkinliğe sağ tıklayın ve sonra da Özellikler'i seçin. Özellikler penceresi sağ alt köşede açılır ve bu etkinliğin in- ile out- bağımsız değişkenlerini görüntüler. Bu faaliyetin iç bağımsız değişkeninden biri test ikili dosyaların konumunun yolunu ayarlayan TestDirectorydir.

  3. Özellikler penceresinde, TestDirectory öğesini tıklatın. Satırın sonunda üç noktayı (…) tıklayın.

  4. İfade Düzenleyicisinde TestBinariesLocation yazın ve sonra Tamamı seçin.

  5. Dosya menüsünde, LabDefaultTemplate_customize.11.xaml Kaydet seçin.

  6. Kaynak denetimi gezginini menü çubuğunda seçin İade simge.

Artık yeni yapı tanımları oluşturmak için özelleştirilmiş .xaml dosyasını kullanabilirsiniz. Yeni bağımsız değişken içi TestBinariesLocation öğesi, yapı tanımınızda İşlem sekmesinin Çeşitli bölümünde görünür ve orada bir değer atayabilirsiniz.

Dağıtımdan sonra makinenin yeniden başlatılmasını gerektiren uygulama yükleyicilerini destekleyen özelleştirme

Varsayılan Laboratuar şablonu, siz uygulamayı dağıttıktan sonra yeniden laboratuar ortamını başlatmaz. Dağıtıldıktan sonra yeniden başlatılması gerekebilen uygulamaları desteklemek için şablonu özelleştirmek isteyebilirsiniz. Uygulamayı el ile dağıttıysanız yalnızca uygulamanın yüklendiği makineyi yeniden başlatabilirsiniz. Visual Studio Laboratuar Yönetimi ortamdaki sanal makinelerde işlemleri desteklemez. Sonuçta, bir makineyi başlatmak laboratuvar ortamındaki tüm makinelerin başlatılmasını gerektirir.

Uyarı

Dağıtım betiklerinizin makineyi kesinlikle yeniden başlatmayacağından emin olun.Bu olursa geliştirme komut dosyasını çalıştıran yapı aracısı yapı denetleyicisi ile olan bağlantıyı kaybeder ve iş akışı durabilir.

Yeni yapıyı dağıttıktan sonra sanal makineyi yeniden başlatmak, üç faaliyetin LabDefaultTemplate'e eklenmesini gerektirir:

  1. Ortamı durdurun

  2. Ortamı başlatın.

  3. İş akışının geri kalanıyla devam etmeden önce yeniden başlatma için sanal makineleri bekleyin.

Ortamı Durdurun

StopLabEnvironment etkinliğini Araç Kutusu'ndan iş akışı şablonuna sürükleyip etkinlik değişkenlerini başlatarak bitiş ortamı etkinliğini varsayılan iş akışı şablonuna ekleyebilirsiniz.

Ortamı durdurmak için

  1. İş akışı düzenleyicisinde Uygulama Dağıtımı Başarılı görünen adlı etkinliğe kaydırın.

  2. Görünüm menüsünde, Araç Kutusu'nu seçin. Araç kutusu sol tarafta açılır ve Team Foundation Yapı Etkinlikleri'nin listesini görüntüler. Team Foundation Laboratuar Yönetimi Etkinlikleri listesini görene kadar etkinlikler listesi boyunca kaydırın.

  3. Araç kutusundan StopLabEnvironment etkinliğini seçin. İş Akışı Düzenleyicisi'ne sürükleyin ve Uygulama Dağıtımı Başarılı etkinliğinden önce konumlandırın.

  4. Etkinliğe sağ tıklayın ve sonra da Özellikler'i tıklatın. Özellikler penceresi bu etkinliğin in- ve out- bağımsız değişkenlerini görüntüler. İş akışının zaten LabEnvironmentUri adında bir değişkene sahip olduğunu ve bunun ortam URI anlamına geldiğini unutmayın.

  5. Değişkenler sekmesini seçin. Değişken listesi görüntülenir.

  6. LabEnvironmentUri satırında ve Varsayılan sütununun altında VB İfadesi Giri çift tıklayın. Metin kutusuna, LabEnvironmentUr yazın. Düzenleyici, parametrenin varolan tüm kullanımlarını görüntüler ve değeri yazmak yerine o listeden seçebilirsiniz.

Ortamı Başlatın

StartLabEnvironment etkinliğini Araç Kutusu'ndan iş akışı şablonuna sürükleyip etkinlik değişkenlerini başlatarak başlangıç ortamı etkinliğini varsayılan Laboratuar şablonuna ekleyebilirsiniz.

Ortamı başlatmak için

  1. Araç kutusundan StartLabEnvironment etkinliğini seçin. İş Akışı Düzenleyicisi'ne sürükleyin ve Uygulama Dağıtımı Başarılı etkinliğinden önce, StopLabEnvironment etkinliğinden sonra konumlandırın.

  2. Etkinliğe sağ tıklayın ve sonra da Özellikler'i tıklatın. Özellikler penceresi bu etkinliğin in- ve out- bağımsız değişkenlerini görüntüler. Yine, iş akışının zaten LabEnvironmentUri adında bir değişkene sahip olduğunu ve bunun ortam URI anlamına geldiğini unutmayın.

    Değişkenler sekmesini seçin. Değişken listesi görüntülenir.

    LabEnvironmentUri satırında ve Varsayılan sütununun altında VB İfadesi Giri çift tıklayın. Metin kutusuna, LabEnvironmentUr yazın. Düzenleyici, parametrenin varolan tüm kullanımlarını görüntüler ve değeri yazmak yerine o listeden seçebilirsiniz.

İş akışının geri kalanıyla Devam etmeden önce Yeniden başlatma için Makineleri bekleyin.

Gecikme etkinliğini Araç Kutusu'ndan iş akışı şablonuna sürükleyip etkinlik değişkenlerini başlatarak sanal makinenin başlaması için bekleme süresi ekleyebilirsiniz. Bu etkinlik Araç Kutusu'nun İlkel Öğeler sekmesinde bulunur.

Sanal makinenin başlamasını beklemek için

  1. Araç kutusunda seçin temel elemanların sekmesi.

  2. Gecikme etkinliğini tıklayın. İş Akışı Düzenleyicisi'ne sürükleyin ve Uygulama Dağıtımı Başarılı etkinliğinden önce, StartLabEnvironment etkinliğinden sonra konumlandırın.

  3. Etkinliğe sağ tıklayın ve sonra da Özellikler'i tıklatın. Özellikler penceresi bu etkinliğin in- ve out- bağımsız değişkenlerini görüntüler. İş akışının zaten Süre adında bir değişkene sahip olduğunu ve bunun bekleme süresi anlamına geldiğini unutmayın.

  4. Özellikler penceresinden Süreyi seçin ve ardından elipsleri (...) seçin.

  5. İfade Düzenleyicisinde TimeSpan.FromMinutes(10) biçiminde bekleme süresini (örneğin, 10 dakika) yazın.

Bu şablon değiştirdiniz, kaynak denetimine denetleyin ve dağıtmak için yeni bir yapı tanımı oluşturmak için kullanmak sonra gerektiren uygulamalar yüklemeden sonra yeniden başlatın.

Kaynak denetim dosyalarını okumak üzere özelleştirme

Özel etkinlikler oluşturur ve ardından bunları iş akışı şablonunuzda kullanırsanız, laboratuar hizmet hesabını kullanarak iletişim kuran yapı aracısının bu etkinliklere erişebildiğinden emin olun. Bu etkinliklerin özel derlemeler olarak kaynak denetim sistemine girişinin yapılması zorunlu olduğundan laboratuvar hizmeti hesabının özel derlemelerin girişinin yapıldığı yolu okuma izninin olduğundan emin olmanız gerekir. Laboratuvar hizmet hesabı hakkında daha fazla bilgi için Nasıl yapılır: Laboratuvar Hizmeti Hesabını Yapılandırma izinleri Laboratuvar hizmet hesabı kullanarak verebilirsiniz tf izinleri komutu. Örneğin, Laboratuvar hizmet hesabı mydomain\labAccount $/ MyProject/CustomAssemblies yolu üzerinde okuma izni verilecek benzer bir komut yerine getirmesi gerekir: C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE>tf permission /user:mydomain\labAccount /collection:http://aseemb-tfs11:8080/tfs/Collection0 /allow:read $/MyProject/CustomAssemblies

Yapı aracısı hesabı kullanılarak yapı bırakma konumuna erişmek üzere özelleştirme

Bir iş akışı yürüten yapı aracısı, laboratuar hizmet hesabını kullanarak yapı bırakma konumuna erişir. Yapı aracısının, bunun yerine yapı aracısı hesabını kullanmasını istiyorsanız, varsayılan laboratuar şablonunu özelleştirebilirsiniz. Şablonda dağıtım komut dosyaları çalıştıran RunDeploymentScript aktiviteyi bulun. Bu etkinlik, Laboratuar hizmeti hesabı kullanılarak erişilmesi gereken konumunu tanımlayan SharedLocationForNetUse özelliğini gösterir. <mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="[BuildLocation]" />Laboratuvar hizmet hesabı yerine yapı aracısı hesabı altındaki bırakma konumuna erişmek için şablondan özelliği silebilir ya da bu özelliğin değerini örnekteki gibi boş ({x:Null}) olarak ayarlayabilirsiniz: mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="{x:Null}" />

Laboratuvar hizmeti hesabını kullanarak diğer konumlara erişmek üzere özelleştirme

Laboratuar hizmeti hesabı altında çalışan yapı aracısının yapı bırakma konumu dışındaki yerlerde okuması gerekiyorsa, SharedLocationForNetUse özelliğinin değerini [BuildLocation] varsayılan değerinden istediğiniz yere değiştirebilirsiniz. Örneğin, \\contoso\scripts dizine erişmek Laboratuvar hizmet hesabı altında çalışan yapı aracısı için olmalıdır: <mtlwa:RunDeploymentScript DisplayName="Running Deployment Script" ScriptDetails="[scriptDetails]" ThrowOnError="True" SharedLocationForNetUse="\\contoso\scripts" />

Ayrıca bkz.

Laboratuvar yönetimi iş akışı etkinlikleri
Uygulama Yaşam Döngünüz için Bir Laboratuvar Yöntemi Kullanma
Yapı işlemini tanımlama
Yapı tanımı oluşturma veya düzenleme
.NET 4'te Windows Workflow Foundation (WF) bir geliştiricinin giriş