2016-03-02 7 views
6

Wenn ich versuche, ein Multi-Zweig-Projekt in Jenkins msbuild, schlägt die Build weil msbuild das Entweichen "% 2F" mit "\"Wie erstellt man ein Multi-Branch-Projekt in Jenkins?

Fehler

Beispiel ersetzen:

„C: \ Program Files (x86) \ Jenkins \ Jobs \ ProjectBranches \ Zweige \ Zweige% 2FBranch-229 \ Arbeitsbereich \ Projekt \ Projekt \ Projekt.Csproj "(Standardziel) (1) -> C: \ Programme (x86) \ MSBuild \ 14.0 \ bin \ Microsoft.CSharp.CurrentVersion.targets (321,5): Fehler MSB4019: Das importierte Projekt "C: \ Programme (x86) \ Jenkins \ jobs \ ProjectBranches \ Zweige \ Zweige \ Branch-229 \ Arbeitsbereich \ Projekt \ Pakete \ Microsoft .Net.Compilers.1.0.0 \ tools \ Microsoft.CSharp.Core.targets "wurde nicht gefunden. Vergewissern Sie sich, dass der Pfad in der Deklaration korrekt ist und dass die Datei auf der Festplatte vorhanden ist. [C: \ Programme (x86) \ Jenkins \ jobs \ ProjectBranches \ Zweige \ Zweige% 2FBranch-229 \ Arbeitsbereich \ Projekt \ Projekt \ Projekt.Csproj]

Antwort

0

Ich habe gerade dieses Problem heute kennen gelernt. Ich löste schließlich durch Überschreiben der Build-und Arbeitsbereich Ordner in der Serverkonfiguration

Ich setze "Workspace Root Directory" zu "c:/ws/$ {ITEM_FULL_NAME}/Arbeit" und die "Build Record Stammverzeichnis" zu " c:/ws/$ {ITEM_FULL_NAME}/builds "

Der ITEM_FULL_NAME ist der Name des Jobs, und da der Name des Jobs ein"/"anstelle von% 2F hat, wird der Ordner ähnlich aussehen zu c: \ ws \ Projekt \ Zweig \ Name \ Arbeit. Das sollte dein Problem lösen.

1

Es gibt eine ganze Diskussion über die Codierung von Zweigstellen in Jira #34564.

Eine propsed Behelfslösung, die für mich funktioniert, ist zu change workspace dir in Jenkinsfile:

node(agent) { 

    def workspace_orig = pwd() 
    def workspace_sane = workspace_orig.replaceAll("%", "_") 

    ws(workspace_sane) { 
     // ... 
    } 

} 
Verwandte Themen