测试环境搭建
本指南介绍如何在测试/预发布环境中搭建 ArchSmith。
前置条件
- Linux 服务器(推荐 Ubuntu 22.04+ 或 CentOS 8+)
- Docker 24+ 和 Docker Compose v2(用于 PostgreSQL 和 Redis)
- JDK 25(推荐 Azul Zulu)
数据库搭建
安装 PostgreSQL 17
方案 A:Docker(推荐用于测试环境):
bash
docker run -d --name archsmith-pg \
-e POSTGRES_USER=archsmith \
-e POSTGRES_PASSWORD=<your-password> \
-p 5432:5432 postgres:17-alpine
# Create databases
docker exec -i archsmith-pg psql -U archsmith -c "CREATE DATABASE archsmith_user;"
docker exec -i archsmith-pg psql -U archsmith -c "CREATE DATABASE archsmith_task;"方案 B:原生安装(apt/yum)。
Schema 创建(Flyway)
ArchSmith 使用 Flyway 进行自动化 Schema 管理。首次启动时,Flyway 会执行位于 server-admin/src/main/resources/db/migration/ 目录下的迁移脚本:
V1__init_schema.sql-- 创建所有表(sys_user、sys_role、sys_menu、sys_dept 等)V2__init_data.sql-- 插入初始管理员用户和系统配置V3__init_menu_data.sql-- 插入菜单结构和权限数据
无需手动执行 SQL —— 只需配置数据库连接并启用 Flyway:
yaml
arch-smith:
flyway:
enabled: true验证 Schema
sql
-- Check migration history
SELECT * FROM flyway_schema_history ORDER BY installed_rank;
-- Verify tables created
\dtRedis 搭建
bash
docker run -d --name archsmith-redis \
-p 6379:6379 redis:7-alpine \
redis-server --requirepass <your-password>应用配置
复制配置模板并填入实际值:
bash
cd server-admin/src/main/resources/
cp application-test.yaml.example application-test.yaml需要配置的关键项:
- 数据库连接 URL 和凭据
- Redis 主机地址和密码
- JWT 密钥(使用
openssl rand -base64 64生成) arch-smith.flyway.enabled: true(启用数据库迁移)
启动应用
bash
SPRING_PROFILES_ACTIVE=test ./gradlew server-admin:bootRun或使用构建好的 JAR 包:
bash
./gradlew :server-admin:bootJar -x test
SPRING_PROFILES_ACTIVE=test java --enable-preview -jar server-admin/build/libs/server-admin.jar验证
- 健康检查:
curl http://localhost:8080/actuator/health - Swagger:
http://localhost:8080/swagger-ui/index.html - 登录:POST
/login,请求体{"username": "admin", "password": "admin123"}
导入测试数据
Flyway V2 和 V3 迁移脚本会自动初始化以下数据:
- 管理员用户(admin/admin123)
- 默认角色(admin、common)
- 完整的菜单树及权限
- 系统配置项
如需添加额外的测试数据,请将 SQL 文件放置在 db/migration/ 目录下,遵循 V{N}__description.sql 的命名规范。