
如果你使用 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 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
本镜像是专为持续集成(CI)测试场景设计的轻量级Docker镜像,旨在提供标准化、可复用的自动化测试环境,支持各类测试流程的无缝集成与高效执行。
轻量级基础
基于Alpine或Debian Slim构建,镜像体积小(<500MB),启动速度快,降低CI流程资源消耗。
预装测试工具链
集成主流测试框架与工具,包括:
多语言支持
内置Python 3.9+、OpenJDK 17、Node.js 18+运行时环境,支持跨语言项目测试。
CI平台兼容性
适配主流CI/CD系统的任务调度机制,支持非交互式运行、后台执行与结果返回。
可定制化配置
通过环境变量、配置文件或命令行参数灵活调整测试行为,支持自定义测试脚本与报告输出。
docker run)通过以下命令启动容器并执行测试:
bashdocker run -it --rm \ -v $(pwd)/test-code:/app `# 挂载本地测试代码到容器内/app目录` \ -v $(pwd)/test-reports:/reports `# 挂载报告输出目录` \ -e TEST_FRAMEWORK=pytest `# 指定测试框架(可选值:pytest/junit/jest)` \ -e TEST_TIMEOUT=300 `# 设置测试超时时间(秒,默认300)` \ ci-test-image:latest `# 镜像名称:版本` \ sh -c "cd /app && run-tests" `# 执行测试命令`
参数说明
-v $(pwd)/test-code:/app:挂载本地测试代码目录至容器内/app(测试执行根目录)-v $(pwd)/test-reports:/reports:挂载测试报告输出目录(容器内报告默认写入/reports)-e TEST_FRAMEWORK:指定测试框架,未设置时自动检测项目类型适用于需要依赖服务(如数据库、Redis)的集成测试场景:
yamlversion: '3.8' services: test-runner: image: ci-test-image:latest volumes: - ./test-code:/app # 测试代码目录 - ./test-reports:/reports # 测试报告输出 environment: - TEST_FRAMEWORK=pytest - TEST_TIMEOUT=600 # 集成测试超时设为10分钟 - DB_HOST=mysql # 依赖服务地址(通过Docker网络互通) - DB_PORT=3306 depends_on: - mysql # 等待依赖服务启动 # 依赖服务示例(MySQL) mysql: image: mysql:8.0 environment: - MYSQL_ROOT_PASSWORD=testpass - MYSQL_DATABASE=testdb ports: - "3306:3306"
启动命令:
bashdocker-compose up --build test-runner # 仅启动测试服务及依赖
| 变量名 | 说明 | 默认值 | 可选值 |
|---|---|---|---|
TEST_FRAMEWORK | 指定测试框架 | auto | pytest, junit, jest, auto |
TEST_TIMEOUT | 测试执行超时时间(秒) | 300 | 正整数 |
REPORT_PATH | 测试报告输出路径(容器内) | /reports | 绝对路径 |
REPORT_FORMAT | 报告格式 | junitxml | junitxml, allure, cobertura |
LOG_LEVEL | 日志输出级别 | info | debug, info, warn, error |
CLEAN_ENV | 测试前清理临时文件 | true | true, false |
| 挂载路径(容器内) | 用途 | 本地路径示例 |
|---|---|---|
/app | 测试代码根目录(必填) | ./test-code |
/reports | 测试报告输出目录 | ./test-reports |
/config | 自定义测试配置文件目录 | ./test-config |
/cache | 测试依赖缓存(加速重复执行) | ./test-cache |
通过docker run命令末尾追加参数调整测试行为:
| 参数 | 说明 | 示例 |
|---|---|---|
--clean | 强制清理容器内残留测试数据 | docker run ... ci-test-image --clean |
--verbose | 输出详细测试日志 | docker run ... ci-test-image --verbose |
权限问题
挂载本地目录时,若容器内用户(默认ci-user,UID=1000)无读写权限,可通过-u $(id -u):$(id -g)参数指定当前用户ID:
bashdocker run -u $(id -u):$(id -g) -v ./test-code:/app ...
测试依赖安装
若项目需额外依赖(如Python包、Node模块),可在测试代码目录中添加requirements.txt或package.json,容器启动时会自动执行pip install或npm install。
镜像版本选择
生产环境建议使用固定版本标签(如ci-test-image:1.2.0),避免最新版(latest)更新导致兼容性问题。
资源限制
在CI平台中运行时,建议通过--memory=2g --cpus=1限制资源使用,避免影响其他任务:
bashdocker run --memory=2g --cpus=1 ...
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务