Skip to content

第 1 章 · 部署细节与多账号测试 ​

总览 §2 已经够跑通一次。本章补的是:改端口、换数据库、数据重置、看日志,以及一个人怎么测多角色审批。

1. 一键包里有什么 ​

四个容器,端口固定:

容器镜像端口
boot4j-nginxmldong/nginx:antd-vben5-pro-backend21080 → 80
boot4j-apimldong/api:mldong-boot4-jeeflow24000 → 8080
boot4j-mysqlmldong/mysql:mldong-plus-jeeflow24306 → 3306
boot4j-redismldong/redis:5.0.427379 → 6379

deploy.sh 会把 docker-compose.yml 下到当前目录的 mldong-boot4-jeeflow/ 子目录,改配置就改那份文件。

2. 常用改法 ​

2.1 换端口 ​

编辑 docker-compose.yml 里对应服务的 ports,左边是宿主机端口:

yaml
  frontend:
    ports:
      - "21080:80"    # 改成 "8080:80" 就用 http://localhost:8080 访问
  backend:
    ports:
      - "24000:8080"

改了前端端口不用动前端配置:后台 API 地址走 nginx 反代,只改上面这两处即可。

2.2 用自己的 MySQL / Redis ​

后端读环境变量,不用改镜像:

yaml
  backend:
    environment:
      DB_HOST: 192.168.1.50
      DB_PORT: "3306"
      DB_NAME: mldong-plus
      DB_USER: root
      DB_PASSWORD: "你的密码"
      SPRING_DATASOURCE_URL: "jdbc:mysql://192.168.1.50:3306/mldong-plus?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true"
      SPRING_DATASOURCE_USERNAME: root
      SPRING_DATASOURCE_PASSWORD: "你的密码"
      REDIS_HOST: 192.168.1.50
      REDIS_PORT: "6379"
      REDIS_PASSWORD: ""

SPRING_DATASOURCE_URL 必须一起设。 只设 DB_HOST 时,框架启动早期的一段初始化仍会去连镜像里写死的默认地址,表现为容器反复重启。

外部库需要先有表结构和数据:从容器里导出来一份最快

bash
docker exec boot4j-mysql mysqldump -uroot -p'G86u@45Ayi34P' mldong-plus > mldong-plus.sql

2.3 指定后端镜像版本 ​

compose 里后端镜像写的是 ${BACKEND_IMAGE:-...api:mldong-boot4-jeeflow},临时换 tag 不用改文件:

bash
BACKEND_IMAGE=registry.cn-zhangjiakou.aliyuncs.com/mldong/api:mldong-boot4-jeeflow docker compose -p boot4j up -d backend

3. 数据、日志与重置 ​

bash
# 看状态
docker compose -p boot4j ps

# 看后端日志(启动失败、SQL 报错都在这里)
docker logs -f boot4j-api

# 进库
docker exec -it boot4j-mysql mysql -uroot -p'G86u@45Ayi34P' mldong-plus

# 只重启后端
docker restart boot4j-api

# 全部停掉(保留数据)
docker compose -p boot4j down

# 连数据一起清,下次是全新演示数据
docker compose -p boot4j down -v

演示数据烤在 MySQL 镜像里,卷删掉就回到净装状态。改过部门、用户、流程后又想要干净环境,down -v 是最省事的一条路。

4. 一个人怎么测多角色审批 ​

一条审批流至少两个角色,浏览器要能来回切:

方式怎么做适合
退出重登右上角头像 → 退出登录 → 换账号只看单向流转,最稳
两个浏览器Chrome 走发起人,Edge 走审批人想看两边同时刷新
无痕窗口普通窗口一个账号,无痕窗口一个账号临时加第三个角色

别用同一个浏览器的多个标签页:登录态存在同一个 localStorage 里,两个标签页会互相顶掉,表现为"我刚才的待办怎么没了"。

测试时建议的账号分工(见 总览 §3.2):wuhao 发起 → lina 部门经理 → u0011 分管领导,superAdmin 只做设计和部署。

5. 权限码 ​

后台所有工作流接口都走 wf:{action} 形式的权限码,例如 wf:processDesign:deploy、wf:processTask:execute。

  • superAdmin 全部放行,手册截图一律用它。
  • 普通账号提示"您没有资源wf:xxx访问权限"时,去 系统设置 → 角色管理,选中角色 → 授权菜单,把对应功能与按钮勾上。
  • 前端菜单来自后端下发的菜单数据,改完权限要重新登录才生效。

6. 卡住了看这里 ​

现象原因处理
boot4j-api 一直重启连不上数据库按 §2.2 同时设 DB_HOST 与 SPRING_DATASOURCE_URL;docker logs boot4j-api 看具体报错
端口冲突起不来21080/24000 已被别的栈占用按 §2.1 换端口,或先 docker compose -p <别的项目名> down
MySQL 首次启动很慢镜像首启要初始化数据目录正常约 15~25 秒;超过 2 分钟看 docker logs boot4j-mysql
前端能开但所有请求报错后端还没就绪用 总览 §2.2 的登录探测确认
昨天配的流程今天没了执行过 down -v卷删除会回到净装数据,需要重新配置

jeeflow · 轻量级多语言工作流引擎