欢迎来到Cat2Bug欢迎来到Cat2Bug
首页
  • Cat2Bug-Platform
  • Cat2Bug-Platform
  • GitHub
  • Gitee
  • 简体中文
  • English
首页
  • Cat2Bug-Platform
  • Cat2Bug-Platform
  • GitHub
  • Gitee
  • 简体中文
  • English
  • 指南

    • 介绍
    • 在线体验
    • 编译程序
    • 系统部署
    • 如何升级
  • 功能

    • 成员
    • 团队
    • 项目
    • 交付物
    • 测试用例
    • 缺陷
    • 报告
    • 文档
    • 通知
  • API接口

    • API介绍
    • 缺陷接口
    • 报告接口

系统部署

手动部署

JAR文件部署方式将前后端代码合并到一个JAR文件中,无需依赖nginx、tomcat,只需在有Java11的环境下直接运行即可使用。其中数据库采用Mysql和嵌入式H2两种方案,用户在启动参数中配置,具体部署步骤如下:

H2数据库方式部署

H2架构部署图

  1. 部署工具
工具名称官网下载地址使用说明
JDK 11https://www.oracle.comJava程序运行环境包(必装)
Ollamahttps://ollama.comAI大模型管理服务(非必装,不安装将无法使用AI功能)
  1. 部署程序

在命令行直接执行如下命令:

Linux
curl -o cat2bug-platform-latest.jar https://www.cat2bug.com/software/cat2bug-platform/cat2bug-platform-latest.jar
nohup java -jar ./cat2bug-platform-latest.jar>/dev/null 2>&1 --server.port=8022 --cat2bug.ai.host=https://localhost:11434 &
Windows
curl -o cat2bug-platform-latest.jar https://www.cat2bug.com/software/cat2bug-platform/cat2bug-platform-latest.jar
javaw -jar ./cat2bug-platform-latest.jar>/dev/null 2>&1 --server.port=8022 --cat2bug.ai.host=https://localhost:11434 &
Mac OS
curl -o cat2bug-platform-latest.jar https://www.cat2bug.com/software/cat2bug-platform/cat2bug-platform-latest.jar
nohup java -jar ./cat2bug-platform-latest.jar>/dev/null 2>&1 --server.port=8022 --cat2bug.ai.host=https://localhost:11434 &
  • nohup 命令是从后台启动程序
  • java -jar 代表启动一个java程序
  • --server.port=8022 将页面访问端口设置为8022(如果不加此配置,默认端口为2020);
  • --cat2bug.ai.host=https://localhost:11434 Ollama服务接口地址;

提示

cat2bug.ai.host可配置为https://www.cat2bug.com:8023,这是我们提供的一个用于测试和演示的免费AI服务,此服务会不定期关闭维护,如需更稳定的私有化部署,请自行访问Ollama官网下载并部署Ollama服务,可将Ollama API接口地址配置到CAT2BUG_AI_HOST中,如: http://部署的ollama服务ip:11434

Mysql数据库方式部署

MySQL架构部署图

  1. 部署工具
工具名称官网下载地址使用说明
Nginxhttps://nginx.org前端程序部署容器(必装)
JDK 11https://www.oracle.com后端程序部署环境包(必装)
MySQL 8.2+https://www.mysql.com数据库(必装)
Redis 7+https://redis.ioRedis(必装)
Ollamahttps://ollama.comAI大模型管理服务(非必装,不安装将无法使用AI功能)
  1. 新建数据库
  • 在MySQL中创建数据库cat2bug_platform;
mysql -u root -p
CREATE DATABASE cat2bug_platform;
  • 访问源码 地址,在sql目录下载数据库文件cat2bug_platform.sql,并导入MySQL中。
mysql -u root -p cat2bug_platform < ./cat2bug_platform.sql
  1. 部署后端程序
Linux
curl -o cat2bug-platform-latest.jar https://www.cat2bug.com/software/cat2bug-platform/cat2bug-platform-latest.jar
nohup java -jar ./cat2bug-platform-latest.jar>/dev/null 2>&1 \
    --server.port=8022 \
    --spring.database-type=mysql \
    --spring.datasource.druid.master.url="jdbc:mysql://localhost:3306/cat2bug_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8" \
    --spring.datasource.druid.master.username=root \
    --spring.datasource.druid.master.password=cat2bug_password &
Windows
curl -o cat2bug-platform-latest.jar https://www.cat2bug.com/software/cat2bug-platform/cat2bug-platform-latest.jar
javaw -jar ./cat2bug-platform-latest.jar>/dev/null 2>&1 \
    --server.port=8022 \
    --spring.database-type=mysql \
    --spring.datasource.druid.master.url="jdbc:mysql://localhost:3306/cat2bug_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8" \
    --spring.datasource.druid.master.username=root \
    --spring.datasource.druid.master.password=cat2bug_password
Mac OS
curl -o cat2bug-platform-latest.jar https://www.cat2bug.com/software/cat2bug-platform/cat2bug-platform-latest.jar
nohup java -jar ./cat2bug-platform-latest.jar>/dev/null 2>&1 \
    --server.port=8022 \
    --spring.database-type=mysql \
    --spring.datasource.druid.master.url="jdbc:mysql://localhost:3306/cat2bug_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=true&serverTimezone=GMT%2B8" \
    --spring.datasource.druid.master.username=root \
    --spring.datasource.druid.master.password=cat2bug_password &
  • nohup 命令是从后台启动程序
  • java -jar 代表启动一个java程序
  • --spring.database-type=mysql 代表使用mysql数据库(mysql需自行部署;此选择目前只有h2、和mysql,配置时需要全部小写);
  • --server.port=8022 将页面访问端口设置为8022(如果不加此配置,默认端口为2020);
  • --spring.datasource.druid.master.url 配置Mysql的链接地址;
  • --spring.datasource.druid.master.username=root 数据库登陆账号
  • --spring.datasource.druid.master.password=cat2bug_password 数据库登陆密码

提示

如果使用H2数据库,无需再单独部署任何服务; 如选择Mysql数据库,需自行部署Mysql8以上版本的数据库,修改配置参数,并导入 SQL 文件, 数据库名默认为:cat2bug_platform

  1. 部署前端程序

部署前端程序,需要先编译前端VUE代码,相关编译方法请参阅编译程序/手动方式编译/前后台分离方式编译/3.编译前端程序 。

编译后的前端文件,拷贝到Nginx的html目录下,并配置Nginx/conf目录下的nginx.conf文件,配置参数如下:

user  nginx;
worker_processes  auto;
error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';
    access_log  /var/log/nginx/access.log  main;
    sendfile        on;
    keepalive_timeout  65;
    client_max_body_size 1024M;
    server {
        listen  8022;
        server_name  localhost;

        location / {
            root /etc/nginx/html/cat2bug;
            index index.html index.htm;
            try_files $uri $uri/ /index.html;
        }
        location /prod-api/ {
            proxy_set_header Host $http_host;
            proxy_set_header X-Real-IP $remote_addr;
            proxy_set_header REMOTE-HOST $remote_addr;
            proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
            # proxy_pass代理的是后端程序的部署IP和端口
            proxy_pass http://localhost:2020/;
            proxy_connect_timeout 600s;
            proxy_send_timeout 600s;
            proxy_read_timeout 600s;
        }
        error_page 500 502 503 504 /50x.html;
        error_page 400 404 error.html;
    }
}

之后进入Nginx的bin目录下,启动Nginx容器

./nginx -c ../conf/nginx.conf
  1. 检查部署是否正常启动

启动成功后,直接在浏览器访问http://127.0.0.1:8022,检查是否可以正常访问;

提示

Ollama服务需配置GPU显卡才能达到良好的体验性,它非必要部署项,如不部署,测试用例的自动创建、缺陷的自动填写等功能将无法使用,但不影响整体业务的使用流程;

宝塔面板部署

此方式需要安装宝塔面板,部署步骤如下:

  1. 下载最新版 cat2bug-platform-latest.jar 文件;
  2. 点击宝塔系统左侧【网站】菜单,进入网站管理界面,选择【Java项目】->【Java环境管理】->【JDK管理】,安装JDK11,如下图:

安装JDK11

  1. 选择网站管理界面中的【添加Java项目】按钮,根据下图填写参数,保存配置项后,项目会自动启动。

安装JAR

  1. 访问http://127.0.0.1:8022,检查是否可以正常访问;

Docker容器化部署

H2数据库方式部署

Docker容器部署是一个独立容器,其中包含了Cat2Bug-Platform系统前后端程序、数据库等,我们只需通过Docker拉取、执行,即可使用,此方式需要安装Docker ,操作步骤如下:

  1. 拉取镜像
Docker官网
docker pull cat2bug/cat2bug-platform:latest
国内镜像源
docker pull qyzw-docker.pkg.coding.net/cat2bug/cat2bug-platform/single:latest
docker tag qyzw-docker.pkg.coding.net/cat2bug/cat2bug-platform/single:latest cat2bug/cat2bug-platform:latest
  1. 启动容器

以下启动方式任选一种

(1) 简单方式启动

docker run -it -d -p 8022:8022 --name cat2bug-platform cat2bug/cat2bug-platform:latest

(2) 启动时映射cat2bug-platform数据文件到宿主机磁盘

docker run \
    -it -d -p 8022:8022 \
    -v ~/cat2bug-platform/data:/cat2bug/data \
    -v ~/cat2bug-platform/logs:/cat2bug/logs \
    -v ~/cat2bug-platform/upload:/cat2bug/uploadPath \
    --name cat2bug-platform \
    cat2bug/cat2bug-platform:latest
  • -v ~/cat2bug-platform/data:/cat2bug/data: 将系统中的h2数据库文件映射到本机~/cat2bug-platform/data目录
  • -v ~/cat2bug-platform/logs:/cat2bug/logs: 将系统中的日志文件映射到本机~/cat2bug-platform/logs目录
  • -v ~/cat2bug-platform/upload:/cat2bug/uploadPath: 将系统中下载的文件映射到本机~/cat2bug-platform/upload目录

映射文件的好处是当我们删除或升级Docker容器后,相关数据依然存在。

(3) 启动时设置数据库参数

cat2bug-platform系统支持MySQL和H2两种数据库,通过修改配置参数进行选择,在docker启动时配置:

docker run \
    -it -d -p 8022:8022 \
    -e "SPRING_DATABASE-TYPE=mysql" \
    -e "SPRING_DATASOURCE_DRUID_MASTER_URL=jdbc:mysql://127.0.0.1:3306/cat2bug_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8" \
    -e "SPRING_DATASOURCE_DRUID_MASTER_USERNAME=root" \
    -e "SPRING_DATASOURCE_DRUID_MASTER_PASSWORD=cat2bug_password" \
    --name cat2bug-platform \
    cat2bug/cat2bug-platform:latest
  • SPRING_DATABASE-TYPE:数据库类型,mysql或h2,如果不配置,默认为h2数据库;
  • SPRING_DATASOURCE_DRUID_MASTER_URL:数据库链接地址;
  • SPRING_DATASOURCE_DRUID_MASTER_USERNAME:数据库账号;
  • SPRING_DATASOURCE_DRUID_MASTER_PASSWORD:数据库密码;

(4) 启动时设置AI大模型参数

docker run \
    -it -d -p 8022:8022 \
    -e "CAT2BUG_AI_HOST=https://www.cat2bug.com:8023" \
    -e "CAT2BUG_AI_TIMEOUT=300" \
    --name cat2bug-platform \
    cat2bug/cat2bug-platform:latest
  • CAT2BUG_AI_HOST:AI服务接口地址(注意,https://www.cat2bug.com:8023是我们提供的一个用于测试和演示的免费AI服务,此服务会不定期关闭维护,如需更稳定的私有化部署,请自行访问Ollama官网下载并部署Ollama服务,可将Ollama API接口地址配置到CAT2BUG_AI_HOST中,如: http://部署的ollama服务ip:11434);
  • CAT2BUG_AI_TIMEOUT:AI接口调用超时秒数;

下面是Ollama服务的Docker化部署方案

# Docker官网部署Ollama服务方案
docker run \
    -it -d -p 11434:11434 \
    -v ~/cat2bug-platform/ai:/root/.ollama \
    --name cat2bug-platform-ai \
    ollama/ollama:latest
# 国内镜像源部署Ollama服务方案
docker run \
    -it -d -p 11434:11434 \
    -v ~/cat2bug-platform/ai:/root/.ollama \
    --name cat2bug-platform-ai \
    qyzw-docker.pkg.coding.net/cat2bug/cat2bug-platform/ollama:latest

提示

AI服务需要在Cat2Bug-Platform服务器前启动;

提示

AI服务需配置GPU显卡才能达到良好的体验性,它非必要部署项,如不部署,测试用例的自动创建、缺陷的自动填写等功能将无法使用,但不影响整体业务的使用流程;

  1. 检查部署是否正常启动

访问http://127.0.0.1:8022,检查是否可以正常访问;

提示

如部署了AI服务,在启动cat2bug-platform系统事会自动检测AI服务是否存在指定大模型llama3:8b文件,如不存在,将自动下载,此时需要服务器链接外网。模型文件尺寸4.2G,在下载过程中,系统访问会出现卡顿现象,这属于正常范畴。

MySQL数据库方式部署

  1. 部署工具
工具名称官网下载地址使用说明
Docker 24.0.7+https://www.docker.comDocker客户端(必装)
Docker-Compose 2.24.0+https://github.com/docker/compose/releasesDocker多容器管理工具(必装)

注意

低版本将无法正常启动容器

此部署方式为前后端分离部署,前端部署在Nginx容器下,后端通过SpringBoot框架开发的服务启动。同时部署Mysql、Redis、Ollama三个服务组件。

  1. 点击此处下载docker-compose.yml或执行以下命令下载:
curl -o docker-compose.yml http://cat2bug.com/docker/docker-compose.yml

根据自身需求,用户可以修改docker-compose.yml文件中的配置,详细配置如下,此步骤也可跳过。

version: '3.4'
name: cat2bug-platform
services:
  # AI服务
  cat2bug-platform-ai:
    image: ollama/ollama:latest
    hostname: ollama
    container_name: cat2bug-platform-ai
    restart: always
    volumes:
      # AI模型文件映射路径
      - ./ai:/root/.ollama
    expose:
      # AI接口服务的端口
      - "11434"
    environment:
      TZ: Asia/Shanghai
    healthcheck:
      test: "exit 0"
    networks:
      - cat2bug-network
  # MySQL数据库
  cat2bug-platform-mysql:
    image: cat2bug/cat2bug-platform-mysql:latest
    hostname: mysql
    container_name: cat2bug-platform-mysql
    restart: always
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --interactive_timeout=259200
      --wait_timeout=259200
      --max_connections=1000
    volumes:
      # 数据库文件映射路径
      - ./mysql/:/var/lib/mysql
    expose:
      - "3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_HOST: "%"
      # 数据库名
      MYSQL_DATABASE: cat2bug_platform
      # root用户密码
      MYSQL_ROOT_PASSWORD: cat2bug_password
      # 数据库登陆账号
      MYSQL_USER: cat2bug
      # 数据库登陆密码
      MYSQL_PASSWORD: cat2bug_password
    healthcheck:
      test: "mysql -h127.0.0.1 -P3306 -uroot -pcat2bug_password -e 'SHOW DATABASES;'"
      interval: 10s
      timeout: 5s
      retries: 6
      start_period: 30s
    networks:
      - cat2bug-network
  # Redis缓存
  cat2bug-platform-redis:
    image: redis:7.2.3
    hostname: redis
    container_name: cat2bug-platform-redis
    restart: always
    expose:
      - "6739"
    healthcheck:
      test: "exit 0"
    networks:
      - cat2bug-network
  # Cat2Bug-Platform后端服务
  cat2bug-platform-web-after:
    hostname: after
    image: cat2bug/cat2bug-platform-web-after:latest
    container_name: cat2bug-platform-web-after
    restart: always
    expose:
      - "2020"
    environment:
      # 数据库链接配置
      SPRING_DATASOURCE_DRUID_MASTER_URL: jdbc:mysql://cat2bug-platform-mysql:3306/cat2bug_platform?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8
      # 数据库登陆账号
      SPRING_DATASOURCE_DRUID_MASTER_USERNAME: root
      # 数据库登陆密码
      SPRING_DATASOURCE_DRUID_MASTER_PASSWORD: cat2bug_password
      # 缓存Redis链接地址
      SPRING_REDIS_HOST: cat2bug-platform-redis
      REDIS_HOSTS: cat2bug-platform-redis:6379
      # AI服务接口链接地址
      CAT2BUG_AI_HOST: http://cat2bug-platform-ai:11434
    volumes:
      # 系统的图片、文件映射路径
      - ./uploadPath:/home/uploadPath
      # 系统日志映射路径
      - ./logs:/home/logs
    links:
      - cat2bug-platform-mysql
      - cat2bug-platform-redis
      - cat2bug-platform-ai
    depends_on: 
      # 等待以下所有服务启动完成后,在启动cat2bug-platform-web-after服务
      cat2bug-platform-mysql:
        condition: service_healthy
      cat2bug-platform-redis:
        condition: service_healthy
      cat2bug-platform-ai:
        condition: service_healthy
    healthcheck:
      test: "exit 0"
    networks:
      - cat2bug-network
  # Cat2Bug-Platform页面服务
  cat2bug-platform-web-front:
    hostname: front
    image: cat2bug/cat2bug-platform-web-front:latest
    container_name: cat2bug-platform-web-front
    restart: always
    ports:
      # 页面访问端口
      - "8022:80"
    links:
      - cat2bug-platform-web-after
    depends_on:
      cat2bug-platform-web-after:
        condition: service_healthy
    networks:
      - cat2bug-network
networks:
  cat2bug-network:
    driver: bridge
  1. 运行docker-compose脚本
docker-compose up -d

当脚本正常运行后,控制台会返回以下信息:

[+] Running 5/5
 ✔ Container cat2bug-platform-ai         Healthy 
 ✔ Container cat2bug-platform-redis      Healthy                                                                                                                                             0.2s 
 ✔ Container cat2bug-platform-mysql      Healthy                                                                                                                                             0.2s 
 ✔ Container cat2bug-platform-web-after  Healthy                                                                                                                                             0.1s 
 ✔ Container cat2bug-platform-web-front  Started 

每个容器的功能如下描述:

  • cat2bug-platform-mysql:数据库
  • cat2bug-platform-redis:缓存
  • cat2bug-platform-web-after:cat2bug-platform 后台服务
  • cat2bug-platform-web-front:cat2bug-platform 页面服务
  1. 检查部署是否正常启动
  • 安装完成后,在浏览器中输入 http://127.0.0.1:8022
  • 在登陆页面,点击注册新用户后,登陆使用。

提示

系统默认管理员账号:admin 密码:cat2bug

Last Updated:
Contributors: yuzhantao
Prev
编译程序
Next
如何升级