6

Jenkins ile bir Windows Mağaza Uygulamasında sürekli entegrasyon yapmaya çalışıyorum. Jenkins bir Linux makinesine (iOS ve Android gibi diğer projelere bağlı olarak) kurulur. Windows projesini yönetmek için Windows 8 64 bit Pro üzerine bir inşa makinesi kurdum (WP8 projesi bu makinede oluşturuluyor). Bu makineyi WIndows Store Uygulamam için kullanmak istiyorum.Windows 8 için Sürekli Entegrasyon Jenkins ile Uygulama

Başlangıçta, projemi msbuild (AppPackages klasörünü oluşturmak için kullanılır) ile oluşturdum. Sonra Bundan sonra

CertUtil -addstore root <FILE.cer> 

ile sertifika (.cer) kabul, ben uygulama (.appx) üzerine vstest.console.exe kullanmaya çalıştı. Bu yürütülebilir bir etkileşimli hizmet çalıştırmak gerekir, bu yüzden ben etkileşimli oturumu erişmek ve vstest.console.exe başlatmak (Bu yazı ile http://www.codeproject.com/Articles/110568/Alternative-way-for-Window-services-to-interact-wi bu yürütülebilir dosyayı yaptım) başka bir exe ile başlattı. Buna rağmen

, vstest.console.exe bu mesajın başarısız oldu:

Microsoft (R) Test Execution Command Line Tool Version 11.0.60315.1 
Copyright (c) Microsoft Corporation. All rights reserved. 

Starting test execution, please wait... 
Error: Failed to launch test executor for the Windows Store app with error code 0. 

Ben Jenkins hizmetini (veya benim kurduğum bir hizmeti) kullanmadan, benim komut dosyasını çalıştırın mükemmel çalışıyor. Windows 8 Phone için kullanıldığında, projenin test edilmesine yönelik komut dosyası mükemmel çalışır, ancak Windows 8 Metro uygulaması için kullanılmaz.

Birisi birim testlerini bir servisten yönetmeyi başardı mı?

+0

A) Komut satırını yönetici olarak mı çalıştırıyorsunuz? B) Geliştiricinin Lisansı yüklü ve güncel var mı? C) '/ InIsolation' anahtarıyla 'vstest.console.exe' çalıştırdığınızdan emin olun, ana hat olarak [burada] (http://blogs.msdn.com/b/vikramagrawal/archive/2012/05/ 06/çalışan birimi testleri-için-pencere-metro-style-uygulamalar-den-komut line.aspx). –

+0

A) Komut satırını yönetici olarak çalıştırıyorum. B) Geliştiricinin lisansı yapı kartında sabit ve akım var C)/InIsolation ile vstest.console.exe çalıştırıyorum. Windows Store projesindeki bir hizmetten vstest.console.exe dosyasını başlatmayı başardınız mı? –

+0

Henüz denememe şansım olmadı, hayır. Arkadaşlarımdan biri sürekli entegrasyon için TFS kullandı, ancak genellikle birim testlerimi manuel olarak yapıyorum. Her iki 32-bit vstest.console.exe ve 64-bit ile denediniz mi? –

cevap

1

Ayrıca, Windows Store App CI için Jenkins'i başlatıp MSBuild işini kullanarak da kullanıyoruz. Belki bu snippet size yardımcı olur?

<Target Name="UnitTest" DependsOnTargets="PreTest;Compile" Condition="'$(SkipTests)'=='' and '$(Platform)'=='x86'" > 
    <ItemGroup> 
     <TestAppx Include="$(SolutionDir)\**\*x86*\**\*Tests*.appx" /> 
     </ItemGroup> 

    <Message Importance="high" Text="Running tests for %(TestAppx.Identity)" /> 
      <Exec Command='"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\CommonExtensions\Microsoft\TestWindow\vstest.console.exe" %(TestAppx.Identity) /InIsolation /platform:x86 /Logger:trx /UseVsixExtensions:true' 
        WorkingDirectory="$(SolutionDir)"/> 
</Target> 
+0

Sunucu gereksinimleri nelerdir? Win 8 sunucusu olmak veya Windows 2012 (R2) olabilir mi? Belki de Windows 2012 Server'da Win Phone 8'i yapıp yapamayacağımızı biliyorsunuzdur. –

İlgili konular