2016-11-21 2 views
0

Ich habe einen jenkins-Job geschrieben, um mein Paket auf einem meiner Server zu installieren. Verwende das Debian-Paketverwaltungssystem. Aktualisieren Sie alle Pakete von Maschine durch sudo apt-get update Befehl und installieren Sie das erforderliche Paket von sudo apt-get install package_name in einem deployment_script (wo wir .deb-Datei machen und Server zur Installation angeben). Kopieren Sie auch das Skript, das verwendet wird, um das Paket in /etc/init.d/package_name zu starten/zu stoppen. Dieses Skript kann die Parameter start/stop verwenden. In meinem debian postinst-Skript habe ich /etc/init.d/package_name erwähnt, um das Paket zu starten. Zum Deployment trigge ich einfach den Job jenkins an und gebe dem Job deployment_script. Er kann das Paket installieren und anschließend das Skript postinst aufrufen, mit dem es den Dienst auf dem vorgesehenen Rechner ordnungsgemäß neu startet. Beim Beenden des postinst-Skripts wird der neu gestartete Dienst jedoch beendet. Irgendwelche Hilfe beim Finden des Grundes und wie man es repariert?Neustart des Dienstes, der in debian postinst-Skript beendet wurde.

Antwort

0

Am Anfang meiner Dienstleistung wie sudo -u user_name java -server some_vm_options with jar of the package, configs > /dev/null &. Ich habe es nur geändert in sudo -u user_name nohup java -server some_vm_options with jar of the package, configs > /dev/null &. Jetzt wird mein gestarteter Dienst nicht getötet.

+0

http://stackoverflow.com/questions/19233529/run-bash-script-as-daemon - Die akzeptierte Antwort in diesem Thread ist auch eine der Lösungen. –

+0

Würde der Java-Prozess in einem neuen Thread laufen und es nicht funktionieren? –

+0

@ user3152463 Nicht einmal in neuen Thread starten müssen. Verleugne es einfach. –

Verwandte Themen