1、github地址:https://github.com/metersphere,系统架构:后端springboot,前端vue.js,数据库MySQL(我是5.7.33),如果需要使用性能模块,就要安装zookeeper、kafka、promethus和node-exporter(监控服务器资源),以及平台对应的node-controller(加压节点)、date-streaming(消费处理性能能数据),使用时自己安装,缺啥百度下解决
2、官网支持一键安装,没有二开需求的可以用这种方式,有二开的需求的朋友一般只需要针对metersphere项目做相应业务改动就可以了
3、简单讲下主体项目metersphere,github地址:https://github.com/metersphere/metersphere,
我本地开发用的idea,git拉代码我就不讲了,选择最近的适合自己的项目分支,项目前后端是在一起的,可以打成一个jar包,如下图
本地开发需要的jdk最好1.8以上,maven随意,还要安装下vue环境node
安装前端依赖
cd metersphere/frontend #安装前端依赖 npm install #构建dist npm run build
后端项目修改本地调试修改位置
resource下面添加metersphere.properties文件,内容如下
# 数据库配置 spring.datasource.url=jdbc:mysql://localhost:3306/metersphere_dev?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8 spring.datasource.username=root #localhost spring.datasource.password=123456 # kafka 配置,node-controller 以及 data-streaming 服务需要使用 kafka 进行测试结果的收集和处理 kafka.partitions=1 kafka.replicas=1 kafka.topic=JMETER_METRICS #kafka.test.topic=JMETER_TESTS kafka.test.topic=test #kafka.bootstrap-servers={KAFKA_IP}:19092 kafka.bootstrap-servers=192.168.101.21:9092 #kafka.bootstrap-servers=localhost:9092 kafka.log.topic=JMETER_LOGS kafka.report.topic=JMETER_REPORT # node-controller 所使用的 jmeter 镜像版本 jmeter.image=registry.fit2cloud.com/metersphere/jmeter-master:0.0.7 # TCP Mock 端口范围 tcp.mock.port=10000 # 启动模式,lcoal 表示以本地开发模式启动 #run.mode=local #run.mode=ldap run.mode=LDAP
resource下面application.properties文件,修改jmeter.home
开发配置jmeter.home=E:/idea_project/metersphere1.12/backend/src/main/resources/jmeter
部署配置jmeter.home=/opt/jmeter
# flyway enable(第一次可以用true用来自动建表,之后最好手工升级,要不然每次启动要跑很久) spring.flyway.enabled=false
kafka下加上下面三个,要不然运行不起来
kafka.test.topic=test #kafka.bootstrap-servers=192.168.101.21:9092 kafka.bootstrap-servers=localhost:9092 kafka.log.topic=JEMTER_LOGS
generattorConfig.xml、logback.xml配置property路径为本地路径如下图:
入口类Application配置
数据库配置
MeterSphere 使用 MySQL 数据库,推荐使用 MySQL 5.7 版本。同时 MeterSphere 对数据库部分配置项有要求,请参考下附的数据库配置,修改开发环境中的数据库配置文件:
[mysqld] default-storage-engine=INNODB lower_case_table_names=1 table_open_cache=128 max_connections=2000 max_connect_errors=6000 innodb_file_per_table=1 innodb_buffer_pool_size=1G max_allowed_packet=64M transaction_isolation=READ-COMMITTED innodb_flush_method=O_DIRECT innodb_lock_wait_timeout=1800 innodb_flush_log_at_trx_commit=0 sync_binlog=0 sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION skip-name-resolve
执行脚本创建库
CREATE DATABASE `metersphere_dev` /*!40100 DEFAULT CHARACTER SET utf8mb4 */
保持数据库是启动的,然后启动后台项目,再初始化前端项目
进入 metersphere-server/frontend/ 目录,执行以下命令安装相关前端组件
npm install
运行前端服务¶
进入到 metersphere-server/frontend/ 目录,执行以下命令启动前端服务
npm run serve