Ich habe einen Build-Job auf Jenkins, die mein Projekt erstellt und nachdem es fertig ist, öffnet es ein SSH-Shell-Skript auf einem Remote-Server und überträgt Dateien und dann stoppen und Startet einen Daemon.Start Dämon auf Remote-Server über Jenkins SSH-Shell-Skript auf mysteriöse Weise
Wenn ich den Daemon über die Befehlszeile auf einem RHEL-Server stoppe und starte, wird er problemlos ausgeführt. Wenn der Job in Jenkins ausgeführt wird, gibt es keine Fehler.
Der Daemon stoppt gut und es beginnt gut. Aber kurz nach dem Start stirbt der Dämon plötzlich.
sudo service daemonName stop
# transfer files.
sudo service daemonName start
Ich bin sicher, dass das Problem nicht
Pathing istWeiß jemand, was über die Art und Weise etwas Besonderes sein könnte Jenkins den SSH-Shell-Skript ausgeführt wird, dass der Daemon startet nicht vollständig abgeschlossen verursachen würde?
Haben Sie die Protokolle überprüft? Welche Fehler liest du da drin? – fedorqui
die jenkins logs? oder die Konsolenprotokolle? oder die Logs des Daemon? Die Konsolenprotokolle zeigen, dass alles erfolgreich war. Die Protokolle des Daemon zeigen keine Probleme Die jenkins log Ich Zweifel werden hilfreich sein. – Eric
Vielleicht ist der Daemon nicht ordnungsgemäß dämonisiert, haben Sie versucht, dem Shell-Skript in Jenkins ein 'sleep 10000' hinzuzufügen, um zu sehen, ob es länger läuft, wenn die aufrufende Shell nicht geschlossen ist? Haben Sie versucht, die Ausgabe von "env" in Jenkins und der Shell zu vergleichen? Wenn es sich um einen selbstgewachsenen Daemon handelt, kann dies durch Dinge wie das Gebietsschema beeinflusst werden. –