2017-06-08 9 views
0

Ich versuche, ein Bash-Skript von Groovy in Jenkins auszuführen, aber ich bin nicht in der Lage, die glücklichen Befehle zu finden.Groovy Execute Bash Skript in Jenkins

Ich kann laufen und es schafft mein „RJ“ Verzeichnis:

process = "mkdir /app/jenkins/workspace/TEST/RJ" 
println process.execute() 

Aber wenn ich versuche, meine bash zu laufen ist es nicht meine Ausgabedatei. Ich bin in der Lage, dieses Bash-Skript direkt auf dem Server auszuführen und es erstellt meine erwartete Ausgabedatei.

process = "/app/jenkins/workspace/TEST/info_file.sh" 
println process.execute() 

Antwort

0

warum führen Sie es durch groovy und nicht direkt über einen SSH-Befehl.

Wenn Sie über groovy tun möchten, müssen Sie ein ssh libray hinzufügen, und die gesamte Verbindung, Auth, ausführen. process.execute wird keine Linux-Box ausführen.

+0

Danke für den Kommentar Peter. Das stinkt und das ist auch auf Linux. Ziel ist es, das "Active Reactive Parameter Plugin" zu verwenden. Wenn ich einen Wert aus einem "Active Choice Parameter" (Auswahl eines Servers) auswähle, möchte ich, dass Code ein Skript auf dem ausgewählten Server ausführt, um eine Datei zu lesen und ein Array von Werten zu ziehen. Dies wäre ideal, weil wir dann jedes Mal die Quelle lesen würden. Option 2 besteht darin, einen Prozess zum Lesen der Dateien auf den Remoteservern zu erstellen und die Werteliste lokal zu speichern. –

+0

Ihr läuft dies durch jenkins richtig? Erstellen Sie eine benutzerdefinierte Variable und wählen Sie die Dropdown-Liste aus, die festgelegt werden muss, bevor ein Build gestartet wird. Wenn Sie auf Play drücken, wird dieser Drop angezeigt und Sie wählen den Server aus. Die ssh-Aufgabe wird dann ausgeführt, Sie speichern die Ergebnisse der Ausführung irgendwo lokal und analysieren dann die Datei. –

Verwandte Themen