wie man ein java-Programm im hintergrund mit dem Chefkoch Rezept
Ich bin ein Koch-rookie. Ich möchte ein Rezept zum ausführen einer jar-Datei im hintergrund.
bash 'run_jar' do
code <<-EOH
wget https://github.com/kiwiwin/jar-repo/releases/download/kiwi/helloworld-1.0.jar -O hello.jar
java -jar hello.jar &
EOH
end
Den helloworld-1.0.jar ist ein Programm zum ersten mal print "Hallo Welt", führen Sie dann eine while(true) - Schleife.
Ich erwarten, wenn ich mich anmelden um den chef-client-Maschine. Es sollte zeigen, dass es ist eine jar ausführen mit "jps" - Befehl. Aber es gibt keine solche jar ausgeführt.
Sehe ich das hello.jar heruntergeladen wird-das zeigt die code-block wurde schon ausgeführt.
Was ist falsch mit diesem Rezept?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Sind Sie am besten beraten, konfigurieren Sie Ihren code so, als Dienst ausgeführt werden. Einige Wrapper zur Verfügung, zum Beispiel:
Sobald dies erledigt ist, können Sie konfigurieren, chef für die Verwaltung der neuen service:
/usr/sbin/update-rc.d myapp_service defaults returned 1, expected 0
Sollten Sie verwenden
remote_file
Ressource, um die Datei statt mitwget
in einer bash - hier-Dokument block.Debuggen sehr hilfreich ist, aktivieren Sie es, wenn Sie sich nicht sicher sind 😉 (angenommen, Sie sind mit chef-solo)
chef-solo -c solo.rb -j node.json -l debug
War ich in der Lage zu erreichen, was Sie wollen mit
remote_file
. Das Rezept sieht wie folgt aus:Beispiel laufen auf einer EC2-test box (Leistung saugt...):
Ich denke es ist besser, verwenden Sie ein tool wie Betreuer zu.
Ich bin mit der Haltung supervisor Rezept erfahren Sie, wie Sie es hier.
hier ist ein Beispiel-code:
können Sie Steuern, Ihren service mit den folgenden Befehlen: