2016-05-26 97 views
0

我有一個應用程序,我在Play框架上部署。 遵循他們的指南(並且因爲我不想依賴服務器上的play/sbt),我使用「sbt dist」創建包含相關JAR的zip文件。然後我想部署/運行應用程序。玩框架 - 開始與Jenkins停止

我正在通過Jenkins進行構建和部署。所以我有一個建立zip的工作。然後我將壓縮文件移動到該位置,並按照文檔解壓壓縮文件,進入bin目錄並運行應用程序。其中提出了兩個主要問題。

  1. 什麼是從Jenkins啓動應用程序的最佳方式,以便它不會阻止Jenkins並在後臺運行。目前,我做了以下...

    nohup的./my-play-app &

其作品,但感覺不對。

  1. 如何停止應用程序?!!?目前我唯一的解決方案是在PID上運行「kill」命令,但這也不合適。

謝謝!

回答

1

在我的情況下,我已經寫了start.sh和stop.sh文件與上述命令,從詹金斯做新部署之前我打電話給stop.sh文件,它會停止正在運行的應用程序,然後我應付新的源代碼在相同的位置後,我打電話給start.sh文件,以便它將運行該應用程序。

檢查我的start.sh文件#!/斌/慶典 的nohup /家庭/ PlayApplications/AppName的/ bin中/應用-Dhttp.port = 5252 & Stop.sh文件 - #!/斌/慶典 PID = cat /home/PlayApplications/AppName/RUNNING_PID 2> /dev/null if [「$ pid」==「」];然後回顯「播放應用程序未運行」;退出0; fi echo「正在停止播放應用程序...」 kill -SIGTERM $ pid在殺死pid之前,我正在檢查我的應用程序是否正在運行,如果正在運行,我正在使用kill命令進行停止

+0

因此您也在使用nohup並殺死? – fatlog

+0

是的,我是阿諾斯使用nohup和殺 –