
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
sorry-cypress是一个开源、本地部署、自托管的Cypress仪表盘替代方案。它允许用户脱离官方Cypress仪表盘,在自有基础设施上运行Cypress测试,支持测试并行执行、结果持久化存储及可视化展示,帮助团队完全掌控测试数据和运行环境,避免官方仪表盘的限制和依赖。
通过Docker Compose快速启动完整服务栈:
bash# 克隆仓库(可选,用于获取docker-compose配置) git clone https://github.com/agoldis/sorry-cypress.git cd sorry-cypress # 启动所有服务 docker-compose -f docker-compose.full.yml up
服务启动后:
预构建镜像托管于Docker Hub:https://hub.docker.com/u/agoldis
| 服务 | 镜像名称 | 说明 |
|---|---|---|
| director | agoldis/sorry-cypress-director | 负责测试并行协调和结果存储 |
| api | agoldis/sorry-cypress-api | GraphQL API服务,提供测试数据查询 |
| dashboard | agoldis/sorry-cypress-dashboard | Web仪表盘,可视化测试结果 |
镜像标签对应Git标签,latest标签对应master分支最新版本。
配置Cypress指向sorry-cypress服务
找到Cypress安装路径(可通过DEBUG=cypress:* cypress version命令查看),修改配置文件 <cypress-root>/packages/server/config/app.yml:
yamlproduction: # 替换为sorry-cypress director服务URL api_url: "http://localhost:1234/" # 本地部署示例 # 或 "https://your-director-service.com/" 生产环境示例
运行并行测试
bashcypress run --parallel --record --key YOUR_RECORD_KEY --ci-build-id UNIQUE_BUILD_ID
director服务
负责测试并行协调、结果存储和截图上传,核心配置通过环境变量实现:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| PORT | 服务端口 | 1234 |
| DASHBOARD_URL | 仪表盘URL(Cypress客户端显示的"运行URL") | - |
| EXECUTION_DRIVER | 执行驱动类型 | "../execution/in-memory"(无持久化) |
| SCREENSHOTS_DRIVER | 截图驱动类型 | "../screenshots/dummy.driver"(不存储截图) |
| ALLOWED_KEYS | 允许的记录密钥(逗号分隔),空值表示允许所有 | - |
持久化配置(MongoDB):
bashEXECUTION_DRIVER="../execution/mongo/driver" MONGODB_URI="mongodb://mongo:27017" # MongoDB连接地址 MONGODB_DATABASE="sorry-cypress" # 数据库名称
S3截图存储配置:
bashSCREENSHOTS_DRIVER="../screenshots/s3.driver" S3_BUCKET="your-bucket-name" # S3存储桶名称 S3_REGION="us-east-1" # S3区域 # 需确保环境中存在具有S3访问权限的AWS凭证
api服务
GraphQL API服务,用于查询MongoDB中存储的测试数据:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| MONGODB_URI | MongoDB连接地址 | "mongodb://mongo:27017" |
| MONGODB_DATABASE | 数据库名称 | "sorry-cypress" |
dashboard服务
Web仪表盘(ReactJS),可视化测试结果:
| 环境变量 | 说明 | 默认值 |
|---|---|---|
| GRAPHQL_SCHEMA_URL | GraphQL API地址 | - |
yaml# docker-compose.full.yml 示例 version: '3' services: mongo: image: docker.xuanyuan.run/mongo:4.4 ports: - "27017:27017" volumes: - mongo-data:/data/db director: image: docker.xuanyuan.run/agoldis/sorry-cypress-director:latest ports: - "1234:1234" environment: - PORT=1234 - DASHBOARD_URL=http://localhost:8080 - EXECUTION_DRIVER=../execution/mongo/driver - MONGODB_URI=mongodb://mongo:27017 - MONGODB_DATABASE=sorry-cypress - SCREENSHOTS_DRIVER=../screenshots/s3.driver - S3_BUCKET=your-s3-bucket - S3_REGION=us-east-1 depends_on: - mongo api: image: docker.xuanyuan.run/agoldis/sorry-cypress-api:latest ports: - "4000:4000" environment: - MONGODB_URI=mongodb://mongo:27017 - MONGODB_DATABASE=sorry-cypress depends_on: - mongo dashboard: image: docker.xuanyuan.run/agoldis/sorry-cypress-dashboard:latest ports: - "8080:80" environment: - GRAPHQL_SCHEMA_URL=http://api:4000 depends_on: - api volumes: mongo-data:
Q: 为什么选择sorry-cypress?
A: 解决官方Cypress仪表盘可能出现的崩溃、并行测试限制等问题,实现数据自主和基础设施可控。
Q: 是否合法使用?
A: 合法,Cypress本身是开源软件,sorry-cypress作为替代方案符合开源许可。
Q: 是否生产就绪?
A: 是的,已在多个生产环境中使用。
MIT
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务