代码地址:https://github.com/metersphere/metersphere/tree/v2.3
需要拉取服务为:
参考官网把mysql,redis,还有metersphere.properties 分别准备好。(注意:windows系统注意metersphere.properties 的位置。类似:D:\opt\metersphere\conf\metersphere.properties)
https://metersphere.io/docs/v2.x/dev_manual/
V2.3. 版本做了微服务改造,目录结构区别还是蛮大的。
.
├── Jenkinsfile # 构建JAR包使用的 jenkinsfile
├── LICENSE
├── OWNERS
├── README.md # 项目中文介绍
├── README-EN.md # 项目英文介绍
├── SECURITY.md # 安全说明
├── CODE_OF_CONDUCT.md
├── CONTRIBUTING.md
├── build.md # 构建过程
├──framework
│ ├── eureka # 服务注册中心
│ ├── gateway # API 网关
│ ├── sdk-parent # SDK
│ ├── .gitignore
│ └── pom # 主框架的 pom 文件
├──test-track # 测试跟踪模块
│ ├── backend # 后端代码目录
│ ├── frontend # 前端代码目录
│ ├── Dockerfile # 构建容器镜像使用的 dockerfile
│ └── pom # 测试跟踪模块使用的 pom 文件
├── api-test # 接口测试模块
│ ├── backend # 后端代码目录
│ ├── frontend # 前端代码目录
│ ├── Dockerfile # 构建容器镜像使用的 dockerfile
│ └── pom # 接口测试模块使用的 pom 文件
├── performance-test # 性能测试模块
│ ├── backend # 后端代码目录
│ ├── frontend # 前端代码目录
│ ├── Dockerfile # 构建容器镜像使用的 dockerfile
│ └── pom # 性能测试模块使用的 pom 文件
├── report-stat # 报表统计模块
│ ├── backend # 后端代码目录
│ ├── frontend # 前端代码目录
│ ├── Dockerfile # 构建容器镜像使用的 dockerfile
│ └── pom # 报表统计模块使用的 pom 文件
├── project-management # 项目管理模块
│ ├── backend # 后端代码目录
│ ├── frontend # 前端代码目录
│ ├── Dockerfile # 构建容器镜像使用的 dockerfile
│ └── pom # 项目管理模块使用的 pom 文件
├── system-setting # 系统设置模块
│ ├── backend # 后端代码目录
│ ├── frontend # 前端代码目录
│ ├── Dockerfile # 构建容器镜像使用的 dockerfile
│ └── pom # 系统设置模块使用的 pom 文件
├── .gitignore
├── .gitmodules
└── pom.xml # 整体 maven 项目使用的 pom 文件
以上工作都完成之后,我们就开始本地启动了。
注意:三个项目的maven仓库必须配置一致。如果在打包过程中包依赖找不到问题,就去看下自己的仓库地址是否一致。
因为启动metersphere 需要 一些依赖,所有我们在启动之前先把 ms-jmeter-core 和 jmeter-plugins-webdriver 给 打包一下:
mvn clean install
以上依赖都打包好之后,开始执行以下命令,如果打包依赖有问题,请参考下面的问题解决。
在项目根目录下面执行以下命令
# parent pom 安装到本地仓库, sdk 也进行安装
./mvnw install -N
./mvnw clean install -pl framework,framework/sdk-parent,framework/sdk-parent/domain,framework/sdk-parent/sdk
# 如果是企业版本 需要加上 framework/sdk-parent/xpack-interface
./mvnw clean package

以上是成功的图片


# eureka 配置
eureka.client.service-url.defaultZone=http://localhost:8761/eureka/
# 数据库配置
spring.datasource.url=jdbc:mysql://localhost:3306/metersphere2.3?autoReconnect=false&useUnicode=true&characterEncoding=UTF-8&characterSetResults=UTF-8&zeroDateTimeBehavior=convertToNull&useSSL=false
spring.datasource.username=root
spring.datasource.password=Calong@2015
# kafka 配置,node-controller 以及 data-streaming 服务需要使用 kafka 进行测试结果的收集和处理
kafka.partitions=1
kafka.replicas=1
kafka.topic=JMETER_METRICS
kafka.test.topic=JMETER_TESTS
kafka.bootstrap-servers=127.0.0.1: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-ms1-jdk11
# TCP Mock 端口范围
tcp.mock.port=10000-10010
# Redis 配置
spring.redis.host=localhost
spring.session.store-type=redis
spring.redis.port=6379
spring.redis.password=Password123@redis
# 启动模式,lcoal 表示以本地开发模式启动
run.mode=local
# minio 配置
minio.endpoint=http://localhost:9000
minio.accessKey=minioadmin
minio.secretKey=minioadmin
## CAS
#cas.client.name=MS_SERVER
## CAS SERVER URL
#cas.server.url=http://xxx/cas
## METERSPHERE SERVER URL
#as.client.url=http://IP:8081
[mysqld]
datadir=/var/lib/mysql
default-storage-engine=INNODB
character_set_server=utf8mb4
#lower_case_table_names=1 --> mysql8 初始化的时候带上
performance_schema=off
table_open_cache=128
transaction_isolation=READ-COMMITTED
max_connections=1000
max_connect_errors=6000
max_allowed_packet=64M
innodb_file_per_table=1
innodb_buffer_pool_size=512M
innodb_flush_method=O_DIRECT
innodb_lock_wait_timeout=1800
server-id=1
log-bin=mysql-bin
expire_logs_days = 2
binlog_format=mixed
character-set-client-handshake = FALSE
character-set-server=utf8mb4
collation-server=utf8mb4_general_ci
init_connect='SET default_collation_for_utf8mb4=utf8mb4_general_ci'
sql_mode=STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION
skip-name-resolve
[mysql]
default-character-set=utf8mb4
[mysql.server]
default-character-set=utf8mb4
./mvnw clean install -pl framework,framework/sdk-parent,framework/sdk-parent/domain,framework/sdk-parent/sdk
以上就是源码启动MeterSphereV2.3微服务架构版本的方法,如有问题,欢迎指正。


在metersphere.properties 添加以上配置即可。


是因为metersphere.properties 没有配置minio

添加以上配置:
参考:https://blog.csdn.net/sinat_29356635/article/details/127068778
http://docs.minio.org.cn/docs/master/minio-docker-quickstart-guide
https://blog.csdn.net/weixin_43888891/article/details/122021704

以上问题是因为,没有找到对应的依赖,在mvn clean install ms-jmeter-core 项目之前 ,需要在metersphere项目主目录下面,执行 ./mvnw install -N
即:

然后再去ms-jmeter-core 项目下面执行 mvn clean install

是因为没有“jmeter-plugin-webdriver”依赖包,
直接去Github仓库:https://github.com/metersphere/jmeter-plugins-webdriver下载,注意分支要跟metersphere版本一致。
直接执行mvn clean install

在项目ms-jmeter-core的pom.xml文件里面添加
<dependency>
<groupId>commons-lang</groupId>
<artifactId>commons-lang</artifactId>
<version>2.5</version>
</dependency>

是因为配置文件地址不对。修改metersphere.properties 文件


select @@global.sql_mode;
set @@global.sql_mode = "STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION"
大约一年前,我决定确保每个包含非唯一文本的Flash通知都将从模块中的方法中获取文本。我这样做的最初原因是为了避免一遍又一遍地输入相同的字符串。如果我想更改措辞,我可以在一个地方轻松完成,而且一遍又一遍地重复同一件事而出现拼写错误的可能性也会降低。我最终得到的是这样的:moduleMessagesdefformat_error_messages(errors)errors.map{|attribute,message|"Error:#{attribute.to_s.titleize}#{message}."}enddeferror_message_could_not_find(obje
我正在编写一个包含C扩展的gem。通常当我写一个gem时,我会遵循TDD的过程,我会写一个失败的规范,然后处理代码直到它通过,等等......在“ext/mygem/mygem.c”中我的C扩展和在gemspec的“扩展”中配置的有效extconf.rb,如何运行我的规范并仍然加载我的C扩展?当我更改C代码时,我需要采取哪些步骤来重新编译代码?这可能是个愚蠢的问题,但是从我的gem的开发源代码树中输入“bundleinstall”不会构建任何native扩展。当我手动运行rubyext/mygem/extconf.rb时,我确实得到了一个Makefile(在整个项目的根目录中),然后当
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
我遵循MichaelHartl的“RubyonRails教程:学习Web开发”,并创建了检查用户名和电子邮件长度有效性的测试(名称最多50个字符,电子邮件最多255个字符)。test/helpers/application_helper_test.rb的内容是:require'test_helper'classApplicationHelperTest在运行bundleexecraketest时,所有测试都通过了,但我看到以下消息在最后被标记为错误:ERROR["test_full_title_helper",ApplicationHelperTest,1.820016791]test
我是rails的新手,想在form字段上应用验证。myviewsnew.html.erb.....模拟.rbclassSimulation{:in=>1..25,:message=>'Therowmustbebetween1and25'}end模拟Controller.rbclassSimulationsController我想检查模型类中row字段的整数范围,如果不在范围内则返回错误信息。我可以检查上面代码的范围,但无法返回错误消息提前致谢 最佳答案 关键是您使用的是模型表单,一种显示ActiveRecord模型实例属性的表单。c
我正在尝试编写一个将文件上传到AWS并公开该文件的Ruby脚本。我做了以下事情:s3=Aws::S3::Resource.new(credentials:Aws::Credentials.new(KEY,SECRET),region:'us-west-2')obj=s3.bucket('stg-db').object('key')obj.upload_file(filename)这似乎工作正常,除了该文件不是公开可用的,而且我无法获得它的公共(public)URL。但是当我登录到S3时,我可以正常查看我的文件。为了使其公开可用,我将最后一行更改为obj.upload_file(file
我克隆了一个rails仓库,我现在正尝试捆绑安装背景:OSXElCapitanruby2.2.3p173(2015-08-18修订版51636)[x86_64-darwin15]rails-v在您的Gemfile中列出的或native可用的任何gem源中找不到gem'pg(>=0)ruby'。运行bundleinstall以安装缺少的gem。bundleinstallFetchinggemmetadatafromhttps://rubygems.org/............Fetchingversionmetadatafromhttps://rubygems.org/...Fe
在Cooper的书BeginningRuby中,第166页有一个我无法重现的示例。classSongincludeComparableattr_accessor:lengthdef(other)@lengthother.lengthenddefinitialize(song_name,length)@song_name=song_name@length=lengthendenda=Song.new('Rockaroundtheclock',143)b=Song.new('BohemianRhapsody',544)c=Song.new('MinuteWaltz',60)a.betwee