Der Jenkins-Pipeline-Job kann kein Skript finden, da der @ tmp-Pfad erstellt wurde

8

Ich schreibe einen Pipeline-Job, der ein anderes Skript zur Ausführung aufruft. Die Jenkins-Datei und das Skript befinden sich im selben Verzeichnis, und der Job kann das auszuführende Skript nicht finden.

Dies ist das relevante Bit des Skripts;

%Vor%

gibt den folgenden Fehler zurück:

%Vor%

Wie Sie sehen, ist die Pfadangabe, die ich verwende, korrekt, da die ls Datei, die ich brauche, update-plugins.sh in dem Verzeichnis ist, in das ich gepatcht habe. Aus irgendeinem Grund fügt Jenkins bei der eigentlichen Suche nach dem Skript @tmp/durable-8d48734f/script.sh auf den Pfad hinzu.

Verschiedene Fehlerbehebung:

  • Ich habe gelesen, dass Sie den Zweig wieder auschecken müssen, selbst wenn Sie bereits nach Jenkinsfile suchen, also bin ich es.
  • Ich habe ssh'd in die Jenkins Box gecheckt und ja, das Skript ist da.

Warum fügt Jenkins das @ tmp-Bit hinzu, und gibt es eine Möglichkeit, dieses Verhalten zu verhindern?

    
Alex 20.12.2016, 15:45
quelle

2 Antworten

2

Haben Sie versucht, die jenkins Workspace-Umgebungsvariable WORKSPACE (absoluter Pfad des Arbeitsbereichs) zu verwenden? Damit würde Ihre Zeile ungefähr so ​​aussehen:

%Vor%     
grubers 26.01.2017 16:11
quelle
1

Ich nehme an, dass dein PWD nicht in PATH ist, also musst du es so nennen: sh './update-plugins.sh'

    
izzekil 22.12.2016 01:22
quelle

Tags und Links