RuoyiAdmin项目搭建及Docker 部署备忘
下载前后分离版,ruoyi: 项目扩展 | RuoYi
https://gitee.com/Double_AutoEE/AutoEE |
这个是vite antdv
1.安装好后端基础:改端口、配接口、建数据库,前端下载后: npm install npm run dev
2.新建一个模块,包括完整的数据流程,包名尽量用 com.ruoyi.xxx,这样Controller直接使用,不用在RuoyiApplication.java中再配置@ComponentScan({"com.testname."})
3.新建模块的POM里加上:
<dependencies><dependency><groupId>com.ruoyi</groupId><artifactId>ruoyi-common</artifactId></dependency> </dependencies>
ruoyi-admin的pom里加上:
<dependency><groupId>com.ruoyi</groupId><artifactId>piaopiaoruo</artifactId><version>${ruoyi.version}</version> </dependency>
4.将原项目中的mybatis 替换为 Mybatis-plus :参考 若依前后端分离版本原生mybatis替换mybatis-plus详细教程_mybatis_会飞的三胖子-RuoYi 若依
主pom中加入 依赖:
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.1</version> </dependency>
在common 及framework中加入 子依赖:
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId> </dependency>framework的config 中,去掉 mybatisconfig.java, 加入 mybatisplusconfig.java:
@Configurationpublic class MybatisPlusConfig {@Bean //解决 Page total 一直为0的情况public MybatisPlusInterceptor mybatisPlusInterceptor(){MybatisPlusInterceptor interceptor = new MybatisPlusInterceptor();interceptor.addInnerInterceptor(new PaginationInnerInterceptor(DbType.H2));return interceptor;} }
最后 admin 主类加上:
@MapperScan("com.ruoyi.piao.dao")
5.Docker 部署:
FROM openjdk:8 EXPOSE 1024 VOLUME /tmp ADD ./target/ruopiao.jar /ruopiao.jar RUN bash -c 'touch /ruopiao.jar' ENTRYPOINT ["java","-jar","/ruopiao.jar"]
把Dockerfile 及jar 上传到 服务器,运行:
docker build -t ruopiao .
docker run -d -p 1024:1024 --name piaoruo --restart always ruopiao
镜像必须是最后一个,执行过最自动启动了,不用再docker start piao
(上面加restart就不用这一行了)docker update piaoruo --restart=always
6.在package.json中添加:
"build:prod": "vite build --mode prod",
即可按 npm run build:prod 打包 ,部署前端。