【MeterSphere】配置开发环境


前言

本文主要记录在window环境配置MeterSphere开发环境,与官方文档出入处。具体步骤参考: metersphere官方开发文档



拉取代码

  • 省去】无需拉取ms-jmeter-core项目代码
    因为自 v2.4版本开始,此部分代码已经移动到主工程metersphere/framework/sdk-parent/jmeter 中
  • 增加】拉取metersphere-platform-plugin项目代码
    • 安装到本地仓库:mvn clean install
      在这里插入图片描述
    • 修改父工程的pom文件中platform-plugin-sdk.version版本号,与本地安装的插件sdk版本一致(否则父工程会出现metersphere-platform-plugin-sdk依赖爆红)
      在这里插入图片描述

配套服务

后端: Mysql、Redis、Kafka、Minio等服务
前端: nodejs服务

后端

后端配套服务可自己百度搜索一一搭建或者参考官方文档。

本文为求方便快速,直接使用官方文档>安装部署>linux中部署>离线安装方式,完成配套中间件服务的安装配置。

  • 通过下载MeterSphere 最新版本的离线安装包,解压后,上传到到目标机器的 /tmp 目录下

  • 执行安装脚本

    cd /tmp/metersphere-offline-installer-v2.x.x
    /bin/bash install.sh
    
  • 配套服务的端口和密码可以通过install.conf和对应yaml文件确认

前端

本文采用conda虚拟环境配置nodejs

// 创建虚拟环境
conda create -n vben2
// 激活虚拟环境(window环境去掉conda)
conda activate vben2

// 安装nodejs
conda install -c conda-forge nodejs
// 验证安装效果
node -v
npm -v

# 全局安装pnpm
npm install -g pnpm
# 验证
pnpm -v # 出现对应版本号即代表安装成功

# 安装依赖
pnpm i

注意:若出现npm install 报版本错误,删除package-lock.json文件

项目初始化配置

  • windows系统,注意metersphere.properties 的位置:opt与主工程在同一级目录下
  • 根据实际中间件服务配置,修改metersphere.properties对应配置信息
    • 非本地安装的中间件,修改localhost
    • 中间件服务对应端口号(port)
    • 账号密码等(username、password、accessKey、secretKey)
  • /opt/metersphere/conf/目录下,增加redisson.yml配置
    在这里插入图片描述
    在这里插入图片描述

metersphere.properties

# eureka 配置
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/


# 数据库配置
spring.datasource.url=jdbc:mysql://192.168.11.204:3307/metersphere_dev?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
spring.datasource.password=Password123@mysql


# kafka 配置,node-controller 以及 data-streaming 服务需要使用 kafka 进行测试结果的收集和处理
kafka.partitions=1
kafka.replicas=1
kafka.topic=JMETER_METRICS
kafka.test.topic=JMETER_TESTS
kafka.bootstrap-servers=192.168.11.204:9092
kafka.log.topic=JMETER_LOGS
kafka.report.topic=JMETER_REPORT

# node-controller 所使用的 jmeter 镜像版本
jmeter.image=registry.cn-qingdao.aliyuncs.com/metersphere/jmeter-master:5.5-ms2-jdk11

# TCP Mock 端口范围
tcp.mock.port=10000-10010

# Redis 配置
spring.redis.host=192.168.11.204
spring.session.store-type=redis
spring.redis.port=6379
spring.redis.password=Password123@redis


# 启动模式,lcoal 表示以本地开发模式启动
run.mode=local

# minio 配置
minio.endpoint=http://192.168.11.204:9000
minio.accessKey=admin
minio.secretKey=Password123@minio

## CAS
#cas.client.name=MS_SERVER
## CAS SERVER URL
#cas.server.url=http://xxx/cas
## METERSPHERE SERVER URL
#cas.client.url=http://IP:8081 

redisson.yml

Redisson 的优势是提供了很多开箱即用的 Redis 高级功能,很多分布式相关操作服务,例如,分布式锁,分布式集合,可通过Redis支持延迟队列等。参考:配置方法

# 单节点配置
singleServerConfig:
  # 节点地址
  address: redis://192.168.11.204:6379
  # 密码
  password: Password123@redis
  # 客户端名称
  clientName: null
  # 数据库编号
  database: 6
  # 连接空闲超时,单位:毫秒
  idleConnectionTimeout: 10000
  # 连接超时,单位:毫秒
  connectTimeout: 10000
  # 命令等待超时,单位:毫秒
  timeout: 3000
  # 命令失败重试次数,如果尝试达到 retryAttempts(命令失败重试次数) 仍然不能将命令发送至某个指定的节点时,将抛出错误。
  # 如果尝试在此限制之内发送成功,则开始启用 timeout(命令等待超时) 计时。
  retryAttempts: 3
  # 命令重试发送时间间隔,单位:毫秒
  retryInterval: 1500
  # 单个连接最大订阅数量
  subscriptionsPerConnection: 5
  # 发布和订阅连接的最小空闲连接数
  subscriptionConnectionMinimumIdleSize: 1
  # 发布和订阅连接池大小
  subscriptionConnectionPoolSize: 50
  # 最小空闲连接数
  connectionMinimumIdleSize: 32
  # 连接池大小
  connectionPoolSize: 64
  # DNS监测时间间隔,单位:毫秒
  dnsMonitoringInterval: 5000
# 线程池数量,默认值: 当前处理核数量 * 2
#threads: 0
# Netty线程池数量,默认值: 当前处理核数量 * 2
#nettyThreads: 0
# 编码
codec: !<org.redisson.codec.JsonJacksonCodec> {}
# 传输模式
transportMode : "NIO"

项目打包和启动

  • 【多余】前端项目打包和启动

  • 为方便开发环境可以使用浏览器vue-devtools插件工具调试,在所需调试的模块前端代码入口(比如api-test/frontend/src/main.js),增加一行Vue.config.devtools = true;

  • window环境用mvnw替代./mvnw
    若报错,参考下文处理方案

  • 启动eureka,验证效果:http://localhost:8761/

  • 启动SettingApplication,可以看到在eureka处注册成功
    在这里插入图片描述

在这里插入图片描述

  • 启动网关服务geteway,打开网址http://localhost:8000/,开启本地多模块调试(根据需要,启动对应后端服务即可)
    用户名: admin
    密码: metersphere

存在问题和解决方案

【后端】mysql连接报1251错误

分析原因:mysql8.0的plugin与之前的版本有差异。mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password
解决办法:把mysql用户登录密码加密规则还原成mysql_native_password.

// 进入mysql容器
docker exec -it mysql /bin/bash
// 登录mysql
mysql -h localhost -P3307 -uroot -p(这里的3307是自己设置的端口号,自己设置是什么就填什么)
输入密码:Password123@mysql
// 查看当前加密规则
select host,user,plugin,authentication_string from mysql.user;
// 修改连接账号的加密规则
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'Password123@mysql';
// 刷新权限
FLUSH PRIVILEGES;

【后端】mvnw 使用报错

背景

maven是一款非常流行的java项目构建软件,它集项目的依赖管理、测试用例运行、打包、构件管理于一身,是我们工作的好帮手,maven飞速发展,它的发行版本也越来越多,如果我们的项目是基于maven构件的,那么如何保证拿到我们项目源码的同事的maven版本和我们开发时的版本一致呢,可能你认为很简单,一个公司嘛,规定所有的同事都用一maven版本不就万事大吉了吗?一个组织内部这是可行的,要是你开源了一个项目呢?如何保证你使用的maven的版本和下载你源码的人的maven的版本一致呢,这时候mvnw就大显身手了。
mvnw 全名是maven wrapper,它的原理是在maven-wrapper.properties文件中记录你要使用的maven版本,当用户执行mvnw clean 命令时,发现当前用户的maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如刚才的mvn clean。

mvnw使用步骤

下载maven

官网地址

对于 Windows 系统,下载 .zip 格式的文件并解压在这里插入图片描述

添加maven环境变量

M2_HOME = maven解压目录地址
Windows可以把%M2_HOME%\bin添加到系统Path变量中
在这里插入图片描述
在这里插入图片描述
此时 Maven 就安装完成了,可以在命令行中运行 mvn -v 查看是否安装成功
在这里插入图片描述

修改配置文件

将 D:\apache-maven-3.x.x\conf\ 目录下的 settings.xml 文件的移动到用户目录的 /.m2 文件夹内;并根据实际开发需要进行localRepository(本地仓库地址)和mirrors(镜像源)配置

在这里插入图片描述

下载Wrapper 插件

cd 到 Java 项目的根目录,确保根目录下存在 pom.xml 文件,在命令行执行 mvn wrapper:wrapper,就会将 Wrapper 的相关文件下载到当前目录

在这里插入图片描述
Wrapper 下载完成以后,需要使用 mvnw 命令来代替 mvn 命令(window环境)
在Linux或macOS下运行时需要加上./

使用mvnw
mvnw install -N

在这里插入图片描述

参考文章

使用mvnw
Maven 从安装到使用

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
Metersphere是一款开源的持续测试平台,用于全方位的测试管理和自动化测试。要搭建Metersphere的开发环境,首先需要具备以下软件和环境: 1. 操作系统:根据个人喜好和硬件条件,可以选择WindowsLinux或MacOS操作系统。 2. JDK:确保系统已经安装了Java Development Kit(JDK),并设置了相关的环境变量。 3. IDE:选择一个适用于Java开发的集成开发环境(IDE),如Eclipse、IntelliJ IDEA等。 4. 数据库:安装并配置一个支持MySQL或Oracle的数据库,如MySQL Workbench、Oracle Database。 5. Maven:安装Maven构建工具,并设置环境变量。 接下来,按照以下步骤进行Metersphere开发环境搭建: 1. 下载Metersphere源码:可以从Metersphere的官方仓库或GitHub上获取最新的源代码。 2. 解压源码:解压源码到一个合适的目录。 3. 修改配置文件:进入解压后的源码目录,根据实际情况修改/src/main/resources/application.properties文件中的数据库连接、服务器端口等配置项。 4. 构建项目:在命令行中进入源码目录,运行命令`mvn clean install -Dmaven.test.skip=true`进行项目的构建,排除测试代码的编译。 5. 运行项目:构建成功后,运行命令`java -jar target/metersphere.jar`启动Metersphere。 6. 访问Metersphere:在浏览器中输入http://localhost:8080访问Metersphere的登录界面,默认用户名和密码为admin。 以上是搭建Metersphere开发环境的简要步骤,可根据具体需求和环境进行适当调整。完成搭建后,可以根据Metersphere的文档和示例进一步了解和使用该平台进行测试开发和管理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值