2016-06-24 14 views
1

Ich versuche, ein Build Kickoff mit Jenkins Pipeline-Plugin bauen wie folgt:Jenkins bauen Pipeline Plugin nicht bauen Run

build 'App - App Rest API' 

Dieser Job hat einen sbt Build-Schritt, der nach oben wie folgt festgelegt ist:

sbt build setup

der Build mit folgendem Fehler nicht ausgeführt werden kann:

[workspace] Running shell script 
+ App - App Rest API about clean publish 
/var/jenkins_home/jobs/Pipeline - App API/[email protected]/durable-a4b7f495/script.sh: line 2: App: command not found 

Was ich nicht verstehe ist, warum versucht wird, die "App - App Rest API" als Befehl auszuführen. Wer weiß, was hier vor sich geht?

Danke!

Antwort

1

Sieht aus wie jenkins Räume nicht entweichen, so verwenden folgenden Befehl ein, dass zur Umgehung:

build 'App\\ -\\ App\\ Rest\\ API' 
+0

Oder besser, keine Leerzeichen im Namen zu verwenden – Rik

+0

Das hat auch nicht funktioniert. Ich änderte es in 'Build 'App \\ - \\ App \\ Rest \\ API' und bekam den folgenden Fehler:' [workspace] Laufendes Shell-Skript +' App - App Rest API 'über saubere Veröffentlichung /var/jenkins_home/jobs/Pipeline - App API/[email protected]/durable-2d41fbdc/script.sh: Zeile 2: App - App Rest API: Befehl nicht gefunden – threejeez

+0

Bin ich falsch oder sieht es so aus, als ob es versucht, "App" auszuführen - App Rest API 'über saubere Veröffentlichung' als Shell-Skript? – threejeez

0

Wow, so dass diese Dummheit meinerseits war (manchmal ist es selbst deprecation, ein anderes Mal ist es nicht ... dies fällt in die letztgenannte Kategorie :-P). Ich hatte die folgende Funktion in meinem Pipeline Code, der die Standard-Build-Funktion wurde verschleiern:

def build(sbtCmd) { 
    echo "Building App API" 
    sh "${sbtCmd} about clean publish" 
} 

Entfernen, dass mein Problem behoben. Danke für die Hilfe!

Oh, und für den Datensatz müssen Leerzeichen nicht mithilfe des integrierten Befehls build maskiert werden.

Verwandte Themen