
aimeos/ci-phpCircleCI测试镜像是由CircleCI官方提供的标准化测试环境解决方案,旨在简化CI/CD流程中的自动化测试环节。该系列镜像内置多种编程语言运行时、测试框架及工具链,通过预配置环境确保测试执行的一致性和可重复性,有效降低环境配置复杂度,提升团队测试效率。
-browsers标签)内置Chrome、Firefox等浏览器及WebDriver,支持前端UI测试circleci/node:18表示Node.js 18环境).circleci/config.yml)无缝集成,无需额外环境配置通过docker run命令直接启动测试环境:
bash# 基本语法 docker run --rm -v $(pwd):/app -w /app circleci/<language>:<version> <test-command> # 示例:使用Node.js 18镜像执行单元测试 docker run --rm \ -v $(pwd):/app \ -w /app \ circleci/node:18 \ sh -c "npm install && npm test"
在.circleci/config.yml中定义测试作业:
yamlversion: 2.1 jobs: backend-test: docker: - image: circleci/python:3.11 # 指定Python 3.11测试镜像 steps: - checkout # 拉取代码 - restore_cache: # 恢复依赖缓存 keys: - v1-dependencies-{{ checksum "requirements.txt" }} - run: pip install -r requirements.txt # 安装依赖 - save_cache: # 缓存依赖 paths: - /home/circleci/.local/lib/python3.11/site-packages key: v1-dependencies-{{ checksum "requirements.txt" }} - run: pytest tests/ # 执行测试命令 - store_test_results: # 存储测试报告 path: test-results workflows: test-workflow: jobs: - backend-test
通过环境变量自定义测试行为:
| 环境变量 | 描述 | 默认值 | 适用场景 |
|---|---|---|---|
TEST_REPORT_PATH | 测试报告输出目录 | /app/test-results | 自定义报告存储路径 |
LOG_LEVEL | 测试日志级别 | info | 调试测试问题时设为debug |
CI | 标识CI环境 | true | 部分测试框架依赖此变量启用CI模式 |
NODE_ENV | Node.js环境标识 | test | Node.js项目测试环境配置 |
示例:配置Python测试的日志级别和报告路径
bashdocker run --rm \ -e LOG_LEVEL=debug \ -e TEST_REPORT_PATH=/app/reports \ -v $(pwd):/app \ -w /app \ circleci/python:3.11 \ pytest --junitxml=/app/reports/results.xml tests/
镜像标签格式:circleci/<language>:<version>-<variant>
| 标签组成 | 说明 | 示例 |
|---|---|---|
<language> | 编程语言标识 | node/python/java |
<version> | 语言版本号 | 18(Node.js)/3.11(Python)/17(Java) |
<variant> | 可选变体标识 | browsers(含浏览器环境)/slim(精简版)/devel(开发版) |
常用标签示例:
circleci/node:20-browsers:Node.js 20环境,含Chrome/Firefox浏览器circleci/python:3.12-slim:Python 3.12精简版,减少镜像体积circleci/ruby:3.2:Ruby 3.2基础环境circleci用户(UID 3434),本地挂载目录需确保该用户有读权限--cpus/--memory参数)manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务