6

Ich versuche, eine kontinuierliche Integration in eine Windows Store-Anwendung mit Jenkins zu machen. Jenkins ist auf einem Linux-Rechner installiert (aufgrund anderer Projekte wie iOS und Android). Um Windows-Projekt zu verwalten, installierte ich einen Build-Rechner auf Windows 8 64 Bit Pro (WP8-Projekt sind auf diesem Rechner erstellt). Ich möchte dieses Gerät für meine Windows Store-Anwendung verwenden.Kontinuierliche Integration für Windows 8 Store-Anwendung mit Jenkins

Am Anfang baute ich mein Projekt mit Msbuild (verwendet, um den AppPackages-Ordner zu generieren). Dann habe ich das Zertifikat (cer) mit

CertUtil -addstore root <FILE.cer> 

Danach akzeptieren, habe ich versucht, auf die Anwendung zu verwenden vstest.console.exe (.appx). Diese ausführbare Datei muss in einem interaktiven Dienst ausgeführt werden, also habe ich sie mit einer anderen Exe gestartet, die Zugriff auf die interaktive Sitzung erhält und vstest.console.exe startet (ich habe diese ausführbare Datei mit diesem Artikel erstellt http://www.codeproject.com/Articles/110568/Alternative-way-for-Window-services-to-interact-wi).

Trotzdem scheiterte vstest.console.exe mit dieser Nachricht:

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. 

Wenn ich meinen Skript ausführen, ohne den Jenkins-Dienst (oder einen von mir gebaut Service) ist es perfekt funktioniert. Für ein Windows Phone 8 verwendet, funktioniert das Skript zum Testen des Projekts perfekt, aber nicht für Windows 8 Metro-Anwendung.

Hat es irgendjemanden geschafft, Komponententests von einem Dienst auszuführen?

+0

A) Führen Sie die Befehlszeile als Administrator aus? B) Haben Sie eine Entwicklerlizenz installiert und aktuell? C) Stellen Sie sicher, dass Sie 'vstest.console.exe' mit dem'/InIsolation'-Schalter ausführen, wie hier [hier] (http://blogs.msdn.com/b/vikramagrawal/archive/2012/05/ 06/running-unit-tests-für-windows-metro-style-apps-from-command-line.aspx). –

+0

A) Ich führe die Kommandozeile als Administrator. B) Ich habe eine Entwickler-Lizenz installiert und aktuell auf dem Build-Rechner C) Ich starte vstest.console.exe mit/InIsolation. Haben Sie es geschafft, vstest.console.exe von einem Dienst in einem Windows Store-Projekt zu starten? –

+0

Ich hatte noch keine Chance zu versuchen, nein. Einer meiner Freunde hat TFS für die kontinuierliche Integration verwendet, aber ich habe meine Komponententests im Allgemeinen manuell durchgeführt. Hast du es mit 32-Bit vstest.console.exe und 64-Bit versucht? –

Antwort

1

Wir verwenden auch Jenkins für Windows Store App CI durch Start und MSBuild Job. Vielleicht hilft dir dieser Ausschnitt?

<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

Was sind die Serveranforderungen? Muss es ein Win 8 Server sein oder kann es auch ein Windows 2012 (R2) sein? Vielleicht wissen Sie auch, ob wir Win Phone 8 auf einem Windows 2012 Server ausführen können ... –

Verwandte Themen