Skip to content

Docker 部署教程

重要提醒

请严格按照文档顺序执行部署步骤。如遇问题,请检查是否按照正确的顺序操作。

部署顺序:从上到下,从大写的"一"开始,依次执行小写的"1、2、3..."步骤。

一、克隆代码

shell
git clone https://gitee.com/mao-peng/MangoTestingPlatform.git

二、配置准备

1. MangoServer 配置查看

仅供了解系统配置,无需修改。如需自定义配置可参考此部分。

MangoServer配置

2. mango-console 配置修改

必须修改

请填写可从外部访问的后端服务IP地址

mango-console配置

3. MangoActuator 配置查看

仅供了解执行器配置。如需配置分布式UI自动化部署,请参考此配置。

MangoActuator配置

4. 环境变量配置

建议仅修改以下两个配置项,其他保持默认:

  • DJANGO_ENV=master
  • VUE_ENV=master
  • EXECUTOR_TYPE=pytest_web 建议默认不修改 环境配置

三、Docker 环境准备

1. 安装 Docker 和 Docker Compose

请参考官方文档或网上教程安装 Docker 和 Docker Compose。

建议版本配置(仅供参考,其他版本可能存在兼容性问题):

Docker版本确认

2. 拉取必要镜像

执行以下命令拉取项目所需的全部镜像:

shell
# 拉取项目依赖镜像
docker pull mcr.microsoft.com/playwright/python:v1.43.0
docker pull python:3.10-slim-bullseye
docker pull node:18.20.5-alpine3.21
docker pull mysql:8.0.40-debian
docker pull minio/minio:RELEASE.2024-12-18T13-15-44Z.fips
docker pull nginx:stable-alpine3.20-perl

# 查看已拉取的镜像
docker images

结果如下:

REPOSITORY                            TAG                                 IMAGE ID       CREATED          SIZE
python                                3.10-slim-bullseye                  639a7ede685a   2 months ago     125MB
nginx                                 stable-alpine3.20-perl              0d2df1337eb4   6 months ago     84.8MB
minio/minio                           RELEASE.2024-12-18T13-15-44Z.fips   6a25d78f6103   8 months ago     153MB
python                                3.10.16-alpine                      2a80925da4ce   8 months ago     51.1MB
node                                  18.20.5-alpine3.21                  87a8a7369c75   8 months ago     127MB
mysql                                 8.0.40-debian                       e1bbd335faf6   10 months ago    610MB
mcr.microsoft.com/playwright/python   v1.43.0                             1fea83c002eb   16 months ago    1.94GB

四、服务启动

1. 启动项目服务

shell
cd 项目根目录 # 示例:cd /code/MangoTestingPlatform
sh start_service.sh

启动日志示例

启动成功时会看到类似以下日志输出:

shell
# ...省略部分内容
[+] Building 3/3
 mangotestingplatform-mango_actuator  Built                                                                                                                                                                                                    0.0s 
 mangotestingplatform-mango_server    Built                                                                                                                                                                                                    0.0s 
 mangotestingplatform-mango-console   Built                                                                                                                                                                                                    0.0s 
[+] Running 6/6
 Network mangotestingplatform_app_network         Created                                                                                                                                                                                      0.0s 
 Container mangotestingplatform-minio-1           Healthy                                                                                                                                                                                      5.9s 
 Container mangotestingplatform-db-1              Healthy                                                                                                                                                                                      5.9s 
 Container mangotestingplatform-mango-console-1   Started                                                                                                                                                                                      0.3s 
 Container mangotestingplatform-mango_server-1    Started                                                                                                                                                                                      6.1s 
 Container mangotestingplatform-mango_actuator-1  Started                                                                                                                                                                                      6.2s 
请等待20秒,让容器完全启动...
Operations to perform:
  Apply all migrations: auth, auto_api, auto_pytest, auto_system, auto_ui, auto_user, contenttypes
Running migrations:
  No migrations to apply.
[2025-11-28 20:40:35,062] [INFO]: {'code': 200, 'msg': '登录成功', 'data': {'name': 'open', 'userName': 'open', 'userId': 352, 'roleId': None, 'token': 'eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCIsInR5cGUiOiJqd3QifQ.eyJpZCI6MzUyLCJ1c2VybmFtZSI6Im9wZW4iLC1lIjoib3BlbiIsImV4cCI6MTc2NDQyMDAzNX0.dWy5Hvteag2gkn7SNnnUi9lJRt4STPK7YZCg-jF7aaI', 'selected_project': 1, 'selected_environment': 1, 'roles': [{'description': None, 'roleId': None, 'roleName': None}]}, 'totalSize': None}
[2025-11-28 20:40:35,080] [INFO]: ws连接成功,开始获取数据!

2. 配置 MinIO 存储

启动成功后,需要配置MinIO对象存储服务:

  1. 访问 MinIO 管理界面:http://localhost:9001/ (请将localhost替换为您的服务器IP)
  2. 使用第二步配置的 .env 文件中的账号密码登录MinIO
  3. 创建 ACCESS_KEY 和 SECRET_KEY(可参考网上教程:MinIO ACCESS_KEY 创建方法
  4. 将生成的密钥填写到 MangoServer 项目的 MinIO 配置中
  5. 重新执行 sh start_service.sh 重启服务

3. 访问系统

部署完成后,在浏览器中访问:

  • 系统地址http://localhost:8001/ (请将localhost替换为您的服务器IP)
  • 首次使用:需要注册账号后登录

4. UI自动化配置(可选)

根据您的使用需求选择配置方式:

本地查看UI执行效果

如果需要在本地查看UI自动化执行过程:

仅使用云端执行

如果不需要在本机查看执行效果:

  • 可忽略此步骤
  • 测试用例将通过云端执行器自动执行,直接在系统中查看结果即可

五、版本更新

当项目发布新版本时,执行以下命令进行更新:

shell
# 进入项目根目录
cd 项目根目录

# 执行更新脚本
sh start_service.sh

更新说明

  • 脚本会自动拉取最新代码并重新构建
  • 如遇缓存问题,可考虑使用 docker-compose build --no-cache 完全重新构建

六、首次使用指南

  1. 访问系统:浏览器访问 http://localhost:8001/ (请替换为您的服务器IP)
  2. 账号注册:首次使用需要注册账号
  3. UI自动化:如需使用UI自动化功能,请下载执行器,使用系统注册的账号密码登录

七、使用注意事项

  1. 选择测试环境:在执行测试用例前,请务必在页面右上角选择对应的测试环境
  2. 项目过滤设置:在选择测试环境的左侧有项目过滤功能,如果发现上传或新建的数据无法显示,请检查是否启用了项目过滤

Released under the AGPL-3.0 License.

🤖