首页
/ Sorry-Cypress 项目基于腾讯云COS的Docker Compose部署指南

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. 配置文件修改

  1. 替换COS_CREDENTIALCOS_SECRET为实际的腾讯云访问凭证
  2. 设置COS_REGION为存储桶所在区域(如ap-beijing)
  3. 指定COS_BUCKET为已创建的存储桶名称

3. 启动服务

docker-compose -f docker-compose.cos.yml up -d

4. 验证服务

  • 访问http://localhost:8080查看Dashboard
  • 检查各容器日志确认无报错

腾讯云COS集成优势

  1. 高可靠性:腾讯云COS提供99.999999999%的数据持久性
  2. 低成本:按实际使用量计费,无前期投入
  3. 高性能:支持海量测试截图的高并发访问
  4. 安全性:支持细粒度的访问权限控制

常见问题排查

  1. 截图上传失败

    • 检查COS访问凭证是否正确
    • 确认存储桶名称和区域配置无误
    • 验证存储桶权限设置
  2. 服务启动失败

    • 检查端口冲突
    • 查看容器日志定位具体错误
  3. Dashboard无法连接API

    • 确认API服务已正常启动
    • 检查GRAPHQL_SCHEMA_URL配置

性能优化建议

  1. MongoDB优化

    • 为MongoDB分配专用数据卷
    • 考虑增加副本集提高可用性
  2. COS优化

    • 启用CDN加速截图访问
    • 使用生命周期管理自动清理旧截图
  3. 服务扩展

    • 根据负载情况横向扩展Director服务
    • 为高并发场景增加API服务实例

通过本文介绍的Docker Compose部署方案,您可以快速搭建基于腾讯云COS的Sorry-Cypress测试管理平台,享受对象存储带来的稳定、高效的测试截图存储体验。