【问题标题】:Best practice to deploy fixes in Play Framework在 Play 框架中部署修复的最佳实践
【发布时间】:2013-06-26 15:13:59
【问题描述】:

当我在开发中时,我使用以下命令在本地运行 Play 控制台:

play ~run

当我更改代码中的某些内容时,系统会立即重新编译代码。到目前为止一切顺利。

我已经部署了几个测试服务器。我所做的是在服务器上安装 play,然后使用 GIT 复制所有项目结构。然后我使用以下命令启动服务器:

play start

最后一步是按 CTRL-D 离开控制台并保持服务器在后台运行。

昨天我需要应用几个修复程序。因此,我使用 GIT 复制了代码,但在任何地方都找不到有关如何停止服务器并重新编译的说明。我怎样才能做到这一点?部署修复程序的最佳过程是什么?

【问题讨论】:

    标签: scala playframework-2.0 sbt


    【解决方案1】:

    在我看来,您永远不应该在生产服务器上编译您的应用程序。根据应用程序的大小、服务器的功能,这可能需要相当长的时间。编译时间长意味着部署时间长,在我看来,这很糟糕。

    我建议做的是:

    1. 在本地使用play run
    2. 让 CI(或本地)使用 play dist 编译和打包您的应用程序
    3. 将您的 zip 部署到生产环境中,
    4. 解压
    5. (bis) 停止当前正在运行的应用程序:

      kill `echo RUNNING_PID`
      
    6. 使用包含的start.sh 脚本启动它。

    编辑:正如 Julien 所说,您不必使用 kill -9

    【讨论】:

    • 实际上我同意你的看法,我在我的手机上写了这个表格作为直接回答“如何停止正在运行的应用程序”,当你发布你的答案时,在办公室开始写关于 dist 的文章。顺便说一句,我个人更喜欢在远程(非生产)机器上分发,然后复制到同一个农场的其他机器上。
    • 我只是建议在没有“-9”的情况下杀死。 Play 应用可以完美应对温和的杀戮。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 2017-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多