适用版本: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用户操作
注意事项
打包的 application/app 下含有源代码,按需自行清理。
新增java类,无需更新源码至 application/app 目录,仅更新 precompiled 目录即可。
新增package,仅需新建对应package目录即可,目录中的源码禁止上传。
新增html,上传源码文件及对应package文件夹至对应目录,否则抛出
Template not found
异常,需特别注意的是大小写,linux下区分大小写,windows则不存在此问题。修改 public 文件夹下文件,无需编译,直接上传至对应目录下即可,注意多模块下为 application/modules 目录下的模块。
修改 routes 文件,需要更新至对应模块 conf 目录下 routes 文件。
版权声明
本文仅代表作者观点,不代表xx立场。
本文系作者授权xxx发表,未经许可,不得转载。
发表评论