Ich habe Jenkins auf Windows Server 2012 installiert, was alles gut funktioniert hat. Sobald ich jedoch versucht habe, die MSBuild- und VS-Code-Metrik-Plugins zu konfigurieren, erhalte ich den folgenden Fehler:
C: \ Windows \ Microsoft.NET \ Framework \ v3.5 \ msbuild.exe ist kein Verzeichnis im Jenkins-Master (aber vielleicht existiert es auf einigen Slaves)
Ich habe die Pfade überprüft und sie sind korrekt, aber Jenkins kann nicht darauf zugreifen.
Kann jemand vorschlagen, was falsch ist.
Danke
Jenkins hat dich ganz nüchtern mit seinen Anforderungen belogen. MSBuild.exe
ist eine ausführbare Datei, nicht ein Verzeichnis, so wie es gemeldet wird. Das Eingabefeld erwartet , dass Sie den Ordner identifizieren, der MSBuild.exe enthält , aber der Job, der ausgeführt wird MSBuild erwartet, dass Sie den Dateinamen angegeben haben. Um diese Inkonsistenz zwischen dem Job und dem Configuration Manager herum besteht die Möglichkeit, die Add the MSBuild
-Pluginkonfiguration vorzunehmen, ohne den Namen der ausführbaren Datei in der Path to MsBuild
-Eingabe anzugeben, um die Validierungsanforderungen der Seite "Add Plugin" zu erfüllen.
Sobald das Plugin hinzugefügt wurde, können Sie den Path to MsBuild
so ändern, dass er den Namen der ausführbaren Datei enthält (was natürlich MSBuild.exe
ist) und anstelle eines Validierungsfehlers erhalten Sie eine Warnung.
Es wird die anfängliche Validierung umgehen, die erforderlich war, um das Plug-In hinzuzufügen, und es wird "nur funktionieren."
Ihr Jenkins-Dienst muss wahrscheinlich noch Zugriff auf das Dateisystem erhalten, indem er "es erlaubt, mit dem Desktop zu interagieren", wie von anderen Postern erwähnt.
Aber Ihr Hauptproblem besteht darin, dass die Plug-in-Konfiguration in Konflikt mit dem Agenten steht, der die Konfiguration verwendet. Um das Plugin zum Ausführen von Builds zu verwenden, müssen Sie eine Problemumgehung verwenden.
Ich hatte das gleiche Problem, Die Lösung für mich war:
Wenn Sie Jenkins als Windows-Dienst ausführen, müssen Sie wahrscheinlich den Dienst aktivieren, um mit dem Desktop zu interagieren. Tun Sie Folgendes:
Öffnen Sie das Dienste-Modul (drücken Sie: WindowsKey + R & gt; Services.msc)
- ODER -
Sie können Jenkins einfach über die Befehlszeile ausführen. Dh: "java -jar jenkins.war" (jenkins.war-Datei befindet sich in Ihrem Jenkins-Installationsverzeichnis).
Prost,
J.
Sie haben also zwei Server mit Jenkins, einen Master (der kein msbuild hat) und den anderen einen Slave (dieser hat msbuild). Wenn Ihr Job ausgeführt wird (auf dem Master), schlägt der Msbuild-Schritt fehl, da er auf dem Master nicht existiert.
Sie müssen Ihren Job zwingen, nur auf dem Server mit msbuild und nicht auf dem Master zu laufen. Hier ist, wie Sie das tun:
msbuild
hinzu.
msbuild
hinzu.
Ich sehe auch die "... ist kein Verzeichnis auf dem Jenkins-Master ..." Fehlermeldung, aber wenn ich versuche zu bauen, funktioniert es trotzdem.
Vergessen Sie nicht, die MS Build-Version für Ihr Projekt anstelle von (Standard) auszuwählen.
Siehe: Erstellen von .net-Anwendungen in Jenkins mit MSBuild
Sieht so aus, als ob dieses Problem in der Version 1.26 gelöst wurde: JENKINS-28679
Tags und Links jenkins msbuild windows-server-2012