AGTMS
Auto-Generate Template Management System
AGTMS 是一个基于 Spring Cloud
和 Vue.js
的自定义配置对象管理系统,支持 Oracle
、MySQL
、MariaDB
、SQL Server
、PostgreSQL
、MongoDB
、RESTful
等方式获取数据。
项目地址
欢迎 star
、fork
Github: https://github.com/Saisimon/AGTMS
Gitee: https://gitee.com/saisimon/AGTMS
项目结构
.
├── agtms-admin Spring Boot Admin 服务 (可选)(默认端口:7890, 默认用户:agtms, 密码:agtms7890)
├── agtms-autoconfigure 自动配置支持类库
├── agtms-autotest 自动化测试
├── agtms-example 远程调用示例服务 (默认端口:7899)
├── agtms-parent
│ ├── agtms-api 内部接口类库
│ ├── agtms-config 配置类库
│ ├── agtms-core 核心类库
│ ├── agtms-jpa JPA 实现支持类库 (默认为 H2,支持 Oracle、MySQL、MariaDB、SQL Server、PostgreSQL 数据库)
│ ├── agtms-mongodb MongoDB 实现支持类库 (可选)
│ ├── agtms-redis Redis 支持类库 (可选)
│ ├── agtms-remote 远程调用实现支持类库 (可选)
│ └── agtms-web Web 服务 (默认端口:7892, 默认用户:admin, 密码:123456)
├── agtms-record 集成测试报告聚合模块
├── agtms-vue 前端页面 (默认端口:8080)
├── agtms-zuul Zuul 网关服务 (默认端口:7891)
├── data Docker 相关数据
│ └── web
| ├── config Web 服务额外配置
| ├── files Web 服务文件(图片、导入、导出)路径
| └── libs Web 服务额外 jar 库路径
├── .env Docker Compose 环境变量配置
├── docker-compose.yml Docker Compose 配置
├── README.md README 文件
├── start.cmd 一键启动脚本 (Windows)
├── stop.cmd 停止脚本 (Windows)
├── start 一键启动脚本 (Unix)
└── stop 停止脚本 (Unix)
先决条件
或
安装并启动
一键启动
默认使用 H2 内存数据库,每次重启数据会重制。要想保存数据,请自行配置数据库连接
- 准备 Zookeeper 并配置
hosts
/etc/hosts
(Unix
)c:\windows\system32\drivers\etc\hosts
(Windows
)
<ZooKeeper IP> zookeeperserver
- 执行启动脚本
start.cmd 默认会杀掉占用 7890、7891、7892端口的进程,请确认以后再执行操作
# Unix
./start
# Windows
start.cmd
- 访问
http://localhost:8080
- 日志
data
├── admin
| └── agtms-admin.log Spring Boot Admin 服务日志
├── web
| └── agtms-web.log Web 服务日志
└── zuul
└── agtms-zuul.log 网关日志
分步启动
默认使用 H2 内存数据库,每次重启数据会重制。要想保存数据,请自行配置数据库连接
- 准备 Zookeeper 并配置
hosts
/etc/hosts
(Unix
)c:\windows\system32\drivers\etc\hosts
(Windows
)
<ZooKeeper IP> zookeeperserver
- 打包
# Unix
./mvnw clean package -Ddockerfile.skip=true
# Windows
mvnw.cmd clean package -Ddockerfile.skip=true
- 启动
Web
服务 (agtms-web
)
java -jar agtms-parent/agtms-web/target/agtms-web.jar
- 启动网关服务 (
agtms-zuul
)
java -jar agtms-zuul/target/agtms-zuul.jar
- 启动前端页面 (
agtms-vue
)
cd agtms-vue
npm install
npm run serve
- 访问
http://localhost:8080
- 启动
Spring Boot Admin
服务 (agtms-admin
)
java -jar agtms-admin/target/agtms-admin.jar
- 日志
data
├── admin
| └── agtms-admin.log Spring Boot Admin 服务日志
├── web
| └── agtms-web.log Web 服务日志
└── zuul
└── agtms-zuul.log 网关服务日志
Docker 容器启动
- 安装 Docker CE 或者 Docker EE,请参考官方文档下载安装
- 安装 Docker Compose,请参考官方文档下载安装
- 编译
Java
项目并生成Docker
镜像
# Unix
./mvnw clean package
# Windows
mvnw.cmd clean package
data/web/libs
路径下添加对应数据库驱动jar
包
- 默认使用
MySQL 5.7
# mysql-connector-java-8.0.16.jar
wget -P data/web/libs http://central.maven.org/maven2/mysql/mysql-connector-java/8.0.16/mysql-connector-java-8.0.16.jar
- 启动容器
WEB_CONFIG_HOME
:Web
服务额外配置,默认为./data/web/config
WEB_LIBS_HOME
:Web
服务额外jar
库路径,默认为./data/web/libs
REVISION
:版本号,默认为最新版本
# Docker Compose
docker-compose up -d
# Docker Swarm
docker stack deploy -c docker-compose.yml agtms
- 访问
http://localhost:8080
远程调用示例
- 准备 Zookeeper 并配置
hosts
/etc/hosts
(Unix
)c:\windows\system32\drivers\etc\hosts
(Windows
)
<ZooKeeper IP> zookeeperserver
- 启动
agtms
服务
# Unix
./start
# Windows
start.cmd
- 启动
agtms-example
服务
java -jar agtms-example/target/agtms-example.jar
- 访问
http://localhost:8080
自动化测试
Chrome
- 下载与
Chrome
浏览器对应版本的 Chrome Driver,并解压缩 - 配置
Chrome Driver
路径
agtms-autotest/src/main/resources/autotest.properties
auto.test.chrome.driver=/Users/saisimon/Downloads/chromedriver
- 运行测试用例
agtms-autotest/src/test/java/net/saisimon/agtms/autotest/ChromeTest
Firefox
- 下载最新版本的 Gecko Driver,并解压缩
- 配置
Gecko Driver
路径
agtms-autotest/src/main/resources/autotest.properties
auto.test.firefox.driver=/Users/saisimon/Downloads/geckodriver
- 运行测试用例
agtms-autotest/src/test/java/net/saisimon/agtms/autotest/FirefoxTest