RunnerGo相关服务部署(Windows)

文章目录

  • 一、安装golang环境
    • 1、下载及安装
    • 2、配置环境变量
    • 3、验证是否安装成功
  • 二、RunnerGo-management-open服务源码部署
    • 1、克隆代码(源代码本地部署)
    • 2、创建mysql数据库表
    • 3、修改配置文件
  • 三、RunnerGo-fe-open服务源码部署
    • 1、克隆代码(源代码本地部署)
    • 2、相关配置
  • 四、file-server服务源码部署
  • 五、RunnerGo-engine-open 服务源码部署
    • 1、克隆代码(源代码本地部署)
    • 2、修改配置文件
    • 3、启动服务
  • 六、RunnerGo-collector-open服务源码部署
    • 1、克隆代码(源代码本地部署)
    • 2、修改配置文件
    • 3、启动服务

参考地址: https://wiki.runnergo.cn/docs/59

一、安装golang环境

RunnerGo项目的后端接口部分,基于Gin框架设计实现。

1、下载及安装

下载地址:https://studygolang.com/dl
安装方式:一键安装,可修改安装路径。

2、配置环境变量

RunnerGo相关服务部署(Windows)_第1张图片

3、验证是否安装成功

命令行输入go version,查看返回结果。
RunnerGo相关服务部署(Windows)_第2张图片

二、RunnerGo-management-open服务源码部署

RunnerGo项目的后端接口部分,基于Gin框架设计实现。

1、克隆代码(源代码本地部署)

# 1、克隆代码
git clone https://github.com/Runner-Go-Team/RunnerGo-management-open.git
# 2、进入项目根目录
cd RunnerGo-management-open
# 3、下载或更新依赖
go mod tidy
# 4、启动服务
go run main.go

2、创建mysql数据库表

安装mysql(安装MySQL参考链接、安装Navicat参考链接),安装完以后,创建一个runnergo数据库,然后把根目录 RunnerGo-management-open/cmd/runnergo_database.sql拿出来,进入到你创建的数据库,然后执行这个sql文件,就会把对应的数据库创建好。

RunnerGo相关服务部署(Windows)_第3张图片

3、修改配置文件

进入配置文件目录: cd RunnerGo-management-open/configs/*.yaml文件(dev.yaml:开发环境,test.yaml:测试环境,prd.yaml:生产环境)
配置详情: 参考RunnerGo-management-open根目录下的README.md文件
关键配置解释:

# clients下面的配置,主要是management请求压力机相关接口的配置,压力机服务为RunnerGo-engine-open,其中domain对应的就是RunnerGo-engine-open服务对应的IP或域名。
clients:
  runner:
    run_api: "https://domain/runner/run_api"
    run_scene: "https://domain/runner/run_scene"
    stop_scene: "https://domain/runner/stop_scene"
    run_plan: "https://domain/runner/run_plan"
    stop_plan: "https://domain/runner/stop"
    
# 下面两个redis,第一个主要是用来做日常缓存使用,第二个redis主要用来做报告数据的缓存,因为报告数据数据量比较到,所以才分开两个redis服务,个人使用的话,可以把两个redis配置成一样的值,使用一个redis服务即可。
redis:
  address: "1234.redis.rds.aliyuncs.com:6379"
  password: "******"
  db: 0

redisReport:
  address: "abcd.redis.rds.aliyuncs.com:6379"
  password: "******"
  db: 0
 
# 邮箱服务配置,主要用来发送邀请链接,运行计划报告等功能,如需使用,配置上自己的对应邮箱配置即可。       
smtp:
  host: "smtpdm.aliyun.com"
  port: 465
  email: "****@qq.com"
  password: "******"
  
# 短信服务,主要用来注册的时候给用户发短信验证码使用,若需要次服务,填写对应的账号密码即可。
sms:
  id: "your ID"
  secret: "your secret"
  
#邀请链接加密密钥,主要用来对邀请链接里面包含的参数进行加密,该字符串可任意填写一个密钥字符串即可,需要注意的是,改密钥的长度必须为,16,24,32这三种长度中的一种。   
inviteData:
  AesSecretKey:  "****************"

三、RunnerGo-fe-open服务源码部署

RunnerGo项目的前端部分, 基于React框架设计实现。

1、克隆代码(源代码本地部署)

# 克隆代码
git clone https://github.com/Runner-Go-Team/RunnerGo-fe-open.git
# 或
git clone https://gitee.com/Runner-Go-Team/runnergo-management-open.git
# 切换目录
cd RunnerGo-fe-open
# 下载依赖
npm install
# 启动开发环境项目
npm start

2、相关配置

如果想使用上传头像、上传场景内的csv、text文件等功能, 需要配置阿里云OSS服务,或者使用本地存储的file-server服务,两者使用其一即可。

OSS: 在根目录的config文件夹中的oss文件中。

export const OSS_Config = {
    region: 'Your Region',
    accessKeyId: 'Your AccessKeyId',
    accessKeySecret: 'Your AccessKeySecret',
    bucket: 'Your Bucket',
}

配置后端服务地址: 在根目录的config文件夹中的server文件中

const RD_BaseURL = {
        development: 'manage服务开发环境地址',
        test: 'manage服务测试环境地址',
        production: 'manage服务线上环境地址',
    };

四、file-server服务源码部署

通过NodeJs实现RunnerGo项目的头像上传、csv/text等参数化文件的上传。看到终端输出server running即代表此服务运行成功!

# 克隆代码
git clone https://github.com/Runner-Go-Team/file-server.git
# 或
git clone https://gitee.com/Runner-Go-Team/file-server.git
# 切换目录
cd file-server
# 下载依赖
npm install
# 运行程序
node app.js

五、RunnerGo-engine-open 服务源码部署

engine 服务为发压服务,主要是发送请求

1、克隆代码(源代码本地部署)

# 克隆代码
git clone https://github.com/Runner-Go-Team/RunnerGo-engine-open.git
# 或
git clone https://gitee.com/Runner-Go-Team/runnergo-engine-open.git
# 进入项目根目录
cd RunnerGo-engine-open
# 下载或更新依赖
go mod tidy

2、修改配置文件

 # 编辑配置文件 open.yam
 # 心跳功能配置
heartbeat:
  port: 8002
  region: "北京"
  duration: 2
  resources: 5
  
  # 默认不用修改
http:
    address: "0.0.0.0:8002"   #本服务host
    port: 8002                #本服务端口
    readTimeout: 5000          #fasthttp client完整响应读取(包括正文)的最大持续时间
    writeTimeout: 5000        #fasthttp client完整请求写入(包括正文)的最大持续时间
    noDefaultUserAgentHeader: true
    maxConnPerHost: 10000
    MaxIdleConnDuration: 5000 #空闲的保持连接将在此持续时间后关闭
    NoDefaultUserAgentHeader: 30000

# 用于存储临时消息,及未完成的报告数据
redis:
  address: ""                   #redis地址
  password: "apipost"
  db: 1
  
#kafka相关配置,需提前准备好
  kafka:                                                           
   address: ""          #kafka地址
   topIc: "report"      # kafka的topic,用于传输测试数据
 
 # mongo数据库相关配置,需提前准备好
  mongo:
  dsn: ""         #mongo地址
  database: "runnergo_open"     #mongo库
  stressDebugTable: "stress_debug"   # 性能测试中接口debug日志集合
  sceneDebugTable: "scene_debug"   # 场景调试,接口debug日志集合
  apiDebugTable: "api_debug"  # api调试,接口debug日志集合
  debugTable: "debug_status" # 性能测试中,是否开启debug日志模式集合
  autoTable: "auto_report" # 自动化测试,接口debug日志集合
  
  # engine本服务配置
  machine:
      maxGoroutines: 20005          # 本机支持的最大协程数                            
      serverType: 1
      netName: ""
      diskName: ""
      
  log:
     path: "/data/logs/RunnerGo/RunnerGo-engine-info.log"         #本服务log存放地址
  
  
  #management服务相关接口配置
  management:
    notifyStopStress: "https://****/management/api/v1/plan/notify_stop_stress"    #management服务停止性能任务接口
    notifyRunFinish: "https://***/management/api/v1/auto_plan/notify_run_finish"  #management服务任务完成接口

3、启动服务

go run main.go

六、RunnerGo-collector-open服务源码部署

collector服务为处理性能测试数据服务没有该服务,测试报告将是无数据状态

1、克隆代码(源代码本地部署)

# 克隆代码
git clone  https://github.com/Runner-Go-Team/RunnerGo-collector-open.git
# 或
git clone https://github.com/Runner-Go-Team/RunnerGo-collector-open.git
# 进入项目根目录
cd RunnerGo-collector-open
# 下载或更新依赖
go mod tidy

2、修改配置文件

# 编辑配置文件 open.yam
http:
  host: "0.0.0.0:20125"   本服务地址

# kafka相关配置
kafka:
  host: ""            kafka地址
  topic: "runnergo"
  key: "kafka:report:partition" kafka分区的key,存放在redis中。不需要修改
  num: 2      #kafka分区数量,如果想同时运行多个性能任务,需要设置该值,并将kafka分区数量调整到对应的值,同时修改management服务中的分区总数
  totalKafkaPartition: "TotalKafkaPartition"        默认不需要修改
  stressBelongPartition: "StressBelongPartition"    默认不需要修改

reportRedis:
  address: ""                                       #redis地址
  password: "apipost"
  db: 0
redis:
  address: ""          #可与reportRedis共用
  password: "apipost"
  db: 0
 
log:
  path: "/data/logs/RunnerGo/RunnerGo-collector-info.log"
  
#management服务配置
management:        #management服务停止任务接口
  notifyStopStress: "https://***/management/api/v1/plan/notify_stop_stress"

3、启动服务

go run main.go

你可能感兴趣的:(RunnerGo,数据库,mysql,java)