我有一个我在Play框架上部署的应用程序。 按照他们的指南(因为我不想依赖于在服务器上播放/ sbt)我正在使用“sbt dist”创建包含相关JAR的zip。然后我想部署/运行应用程序。
我正在通过Jenkins进行构建和部署。所以我有一个建立拉链的工作。然后我将zip移动到该位置,根据文档解压缩归档文件,转到bin目录并运行应用程序。这提出了两个主要问题。
从Jenkins启动应用程序的最佳方法是什么,以便它不会阻止Jenkins并在后台运行。目前我正在做以下事情......
nohup ./my-play-app& amp;
有效,但感觉不对。
谢谢!
答案 0 :(得分:1)
在我的情况下,我用上面提到的命令编写了start.sh和stop.sh文件,在进行新部署之前我从Jenkins调用stop.sh文件,它将停止正在运行的应用程序,然后我正在应对新的源代码进入同一位置之后,我调用start.sh文件,以便它将运行该应用程序。
检查我的start.sh文件#!/ bin / bash
nohup / home / PlayApplications / AppName / bin / app -Dhttp.port = 5252
&安培; Stop.sh文件 - #!/ bin / bash
PID = cat /home/PlayApplications/AppName/RUNNING_PID 2> /dev/null
if [“$ pid”==“”];然后回声“播放应用程序没有运行”;退出0;科幻
回声“停止播放应用...”
kill -SIGTERM $ pid在杀死pid之前我正在检查我的应用程序是否正在运行,如果正在运行我正在停止使用kill comand