在Play Framework中部署修补程序的最佳实践

时间:2013-06-25 06:06:02

标签: scala playframework-2.0 sbt

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

play ~run

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

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

play start

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

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

1 个答案:

答案 0 :(得分:3)

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

我建议做的是:

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

    kill `echo RUNNING_PID`
    
  8. 使用附带的start.sh脚本启动它。
  9. 编辑:正如Julien所说,你不必使用kill -9