【问题标题】:Play framework - Starting & Stopping with JenkinsPlay 框架 - 使用 Jenkins 启动和停止
【发布时间】:2016-05-26 14:05:27
【问题描述】:

我在 Play 框架上部署了一个应用程序。 按照他们的指南(并且因为我不想依赖在服务器上播放/sbt),我正在使用“sbt dist”创建包含相关 JAR 的 zip。然后我想部署/运行应用程序。

我正在通过 Jenkins 进行构建和部署。所以我有一份制作拉链的工作。然后,我将 zip 移动到该位置,并根据文档解压缩存档,转到 bin 目录并运行该应用程序。这引发了 2 个主要问题。

  1. 从 Jenkins 启动应用程序的最佳方式是什么,这样它就不会阻止 Jenkins 并在后台运行。目前我正在做以下事情......

    nohup ./my-play-app &

有效但感觉不对。

  1. 如何停止应用程序?!!?我目前唯一的解决方案是在 PID 上运行“kill”命令,但感觉也不对。

谢谢!

【问题讨论】:

    标签: jenkins playframework


    【解决方案1】:

    在我的情况下,我已经使用上述命令从 Jenkins 编写了 start.sh 和 stop.sh 文件,在进行新部署之前我调用了 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 如果 [ "$pid" == "" ];然后回显“播放应用程序未运行”;退出0;菲 echo "停止播放应用程序..." kill -SIGTERM $pid 在杀死 pid 之前,我正在检查我的应用程序是否正在运行,如果正在运行,我正在使用 kill 命令停止

    【讨论】:

    • 所以你也在使用 nohup 和 kill?
    • 是的,我是使用 nohup 和 kill
    猜你喜欢
    • 1970-01-01
    • 2023-03-19
    • 2013-01-29
    • 1970-01-01
    • 2018-05-22
    • 2013-07-18
    • 2016-07-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多