Sorry-Cypress 项目基于腾讯云COS的Docker Compose部署指南
2025-07-10 06:52:27作者:瞿蔚英Wynne
项目概述
Sorry-Cypress 是一个开源的Cypress测试运行管理平台,它提供了对Cypress测试的集中管理和可视化展示功能。本文将详细介绍如何使用Docker Compose部署基于腾讯云对象存储(COS)的Sorry-Cypress环境。
核心组件解析
1. MongoDB服务
作为整个平台的数据存储后端,MongoDB负责存储测试运行记录、结果等关键数据。
mongo:
image: mongo:4.4
volumes:
- ./data/data-mongo-cypress:/data/db
- 使用MongoDB 4.4版本镜像
- 通过卷挂载实现数据持久化,将容器内的
/data/db
映射到宿主机的./data/data-mongo-cypress
目录
2. Director服务
Director是测试任务调度核心组件,负责接收测试请求并协调执行。
director:
image: agoldis/sorry-cypress-director:latest
environment:
DASHBOARD_URL: http://localhost:8080
MONGODB_URI: 'mongodb://mongo:27017'
MONGODB_DATABASE: 'sorry-cypress'
EXECUTION_DRIVER: '../execution/mongo/driver'
SCREENSHOTS_DRIVER: '../screenshots/cos.driver'
COS_CREDENTIAL: 'cos_hmac_credential'
COS_SECRET: 'cos_hmac_secret'
COS_REGION: 'cos_region'
COS_BUCKET: 'cos_bucket_name'
ports:
- 1234:1234
关键配置说明:
SCREENSHOTS_DRIVER
指定使用腾讯云COS作为截图存储驱动- COS相关参数需要替换为实际的腾讯云访问凭证
- 端口1234用于接收测试请求
3. API服务
提供GraphQL接口,供Dashboard和其他组件查询测试数据。
api:
image: agoldis/sorry-cypress-api:latest
environment:
MONGODB_URI: 'mongodb://mongo:27017'
MONGODB_DATABASE: 'sorry-cypress'
APOLLO_PLAYGROUND: 'false'
ports:
- 4000:4000
- 默认禁用Apollo Playground(生产环境建议)
- 端口4000提供GraphQL服务
4. Dashboard服务
可视化界面,展示测试结果和统计数据。
dashboard:
image: agoldis/sorry-cypress-dashboard:latest
environment:
GRAPHQL_SCHEMA_URL: http://localhost:4000
PORT: 8080
ports:
- 8080:8080
- 通过8080端口提供Web界面
- 连接到本地的API服务(4000端口)
部署步骤详解
1. 准备工作
- 安装Docker和Docker Compose
- 创建腾讯云COS存储桶并获取访问凭证
- 确保服务器1234、4000和8080端口可用
2. 配置文件修改
- 替换
COS_CREDENTIAL
和COS_SECRET
为实际的腾讯云访问凭证 - 设置
COS_REGION
为存储桶所在区域(如ap-beijing) - 指定
COS_BUCKET
为已创建的存储桶名称
3. 启动服务
docker-compose -f docker-compose.cos.yml up -d
4. 验证服务
- 访问
http://localhost:8080
查看Dashboard - 检查各容器日志确认无报错
腾讯云COS集成优势
- 高可靠性:腾讯云COS提供99.999999999%的数据持久性
- 低成本:按实际使用量计费,无前期投入
- 高性能:支持海量测试截图的高并发访问
- 安全性:支持细粒度的访问权限控制
常见问题排查
-
截图上传失败
- 检查COS访问凭证是否正确
- 确认存储桶名称和区域配置无误
- 验证存储桶权限设置
-
服务启动失败
- 检查端口冲突
- 查看容器日志定位具体错误
-
Dashboard无法连接API
- 确认API服务已正常启动
- 检查
GRAPHQL_SCHEMA_URL
配置
性能优化建议
-
MongoDB优化
- 为MongoDB分配专用数据卷
- 考虑增加副本集提高可用性
-
COS优化
- 启用CDN加速截图访问
- 使用生命周期管理自动清理旧截图
-
服务扩展
- 根据负载情况横向扩展Director服务
- 为高并发场景增加API服务实例
通过本文介绍的Docker Compose部署方案,您可以快速搭建基于腾讯云COS的Sorry-Cypress测试管理平台,享受对象存储带来的稳定、高效的测试截图存储体验。