d8888 .d8888b. 88888888888 888b d888 .d8888b.
d88888 d88P Y88b 888 8888b d8888 d88P Y88b
d88P888 888 888 888 88888b.d88888 Y88b.
d88P 888 888 888 888Y88888P888 "Y888b.
d88P 888 888 88888 888 888 Y888P 888 "Y88b.
d88P 888 888 888 888 888 Y8P 888 "888
d8888888888 Y88b d88P 888 888 " 888 Y88b d88P
d88P 888 "Y8888P88 888 888 888 "Y8888P"
AGTMS 是一个基于 Spring Cloud 和 Vue.js 的自定义配置对象管理系统,支持 Oracle、MySQL、MariaDB、SQL Server、PostgreSQL、MongoDB、RESTful 等方式获取数据。
- dev - 开发分支
- master - 分布式环境
- standalone - 单机环境
.
├── 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 配置
├── AGTMS.xmind 项目导图
├── README.md README 文件
├── start.cmd 一键启动脚本 (Windows)
├── stop.cmd 停止脚本 (Windows)
├── start 一键启动脚本 (Unix)
└── stop 停止脚本 (Unix)
- JRE(JDK) 8+
- Node.js
- Apache ZooKeeper
- RAM 4G+
或
默认使用 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 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 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
- 下载最新版本的 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