赞
踩
本文主要记录在window环境配置MeterSphere开发环境,与官方文档出入处。具体步骤参考: metersphere官方开发文档
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文件
opt与主工程在同一级目录下
# 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 的优势是提供了很多开箱即用的 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处注册成功
分析原因: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;
maven是一款非常流行的java项目构建软件,它集项目的依赖管理、测试用例运行、打包、构件管理于一身,是我们工作的好帮手,maven飞速发展,它的发行版本也越来越多,如果我们的项目是基于maven构件的,那么如何保证拿到我们项目源码的同事的maven版本和我们开发时的版本一致呢,可能你认为很简单,一个公司嘛,规定所有的同事都用一maven版本不就万事大吉了吗?一个组织内部这是可行的,要是你开源了一个项目呢?如何保证你使用的maven的版本和下载你源码的人的maven的版本一致呢,这时候mvnw就大显身手了。
mvnw 全名是maven wrapper,它的原理是在maven-wrapper.properties文件中记录你要使用的maven版本,当用户执行mvnw clean 命令时,发现当前用户的maven版本和期望的版本不一致,那么就下载期望的版本,然后用期望的版本来执行mvn命令,比如刚才的mvn clean。
对于 Windows 系统,下载 .zip 格式的文件并解压
M2_HOME = maven解压目录地址
Windows可以把%M2_HOME%\bin添加到系统Path变量中
此时 Maven 就安装完成了,可以在命令行中运行 mvn -v 查看是否安装成功
将 D:\apache-maven-3.x.x\conf\ 目录下的 settings.xml 文件的移动到用户目录的 /.m2 文件夹内;并根据实际开发需要进行localRepository(本地仓库地址)和mirrors(镜像源)配置
cd 到 Java 项目的根目录
,确保根目录下存在 pom.xml 文件,在命令行执行 mvn wrapper:wrapper
,就会将 Wrapper 的相关文件下载到当前目录
Wrapper 下载完成以后,需要使用 mvnw
命令来代替 mvn 命令(window环境)
在Linux或macOS下运行时需要加上./
mvnw install -N
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。