欢迎来到本站
IT
0

[Play 1.2.x] idea 部署

2023.02.27 | 访客 | 17347次围观

适用版本:play-1.2.x

打包命令

play 项目打包主要分两种方式,play war 命令以及 play preoccupie 命令,使用play help命令可获取帮助信息

play war

将整个项目打包至指定输出目录或者war文件,适用于整站更新部署。

语法:

play war [project_path] [--exclude=exclude_dir1:exclude_dir1] -o out_dir

命令选项

示例代码

进入项目根目录下执行以下命令,多模块下命令中的模块应是 主模块 名称。

  • 输出文件至out目录下

play war play_test.main --exclude .svn:target:logs:tmp -o ../out/sp2p_qdb

  • 输出war文件

play war play_test.main --exclude .svn:target:logs:tmp -o ../out/sp2p_qdb.war

  • 输出zip文件

play war sp2p_qdb.main --exclude .svn:target:logs:tmp -o ../out/sp2p_qdb.zip

play precompile (推荐)

预编译所有的java源和模板来加快应用程序的启动,适用java类以及html模板文件修改更新

单模块项目进入项目根目录下,执行此命令后在当前路径下生成precompiled文件夹,将该文件夹打包上传更新即可

多模块项目进入 主模块 目录下,执行命令后在当前路径下生成precompiled文件夹,将该文件夹打包上传更新即可

示例代码

  • 单模块项目,项目根目录下执行命令

cd ~/workspaces/play_test play precompile

  • 多模块项目,主模块目录下执行命令

cd ~/workspaces/play_test.main play precompile

项目部署

通过好压等压缩软件打包成*.tar.gz文件打包上传至服务器

更新部署

1 项目备份

cd ~/play_test/application tar -zcvf precompiled_20180414.tar.gz precompiled

2 上传代码至服务器并解压缩文件

tar -zxvf precompiled.tar.gz

3 获取tomcat安装路径

需要注意的是当存在多个tomcat进程的时候,需要确定本次更新的项目由哪个tomcat驱动

4 重启tomcat

cd ~/tomcat bin/shutdown.sh bin/startup.sh

再次使用ps命令确定tomcat进程是否关闭成功,如果关闭失败,应使用kill命令强杀进程

ps aux|grep tomcat kill -9 进程号

5 打印启动日志

cd ~/tomcat tail -f logs/catalina.2018-04-14.out

6 root授权

如因为用户权限导致操作失败,通过sudo命令切换至root用户操作

注意事项

  1. 打包的 application/app 下含有源代码,按需自行清理。

  2. 新增java类,无需更新源码至 application/app 目录,仅更新 precompiled 目录即可。

  3. 新增package,仅需新建对应package目录即可,目录中的源码禁止上传。

  4. 新增html,上传源码文件及对应package文件夹至对应目录,否则抛出Template not found异常,需特别注意的是大小写,linux下区分大小写,windows则不存在此问题

  5. 修改 public 文件夹下文件,无需编译,直接上传至对应目录下即可,注意多模块下为 application/modules 目录下的模块。

  6. 修改 routes 文件,需要更新至对应模块 conf 目录下 routes 文件。


版权声明

本文仅代表作者观点,不代表xx立场。
本文系作者授权xxx发表,未经许可,不得转载。

发表评论