
aidatabases/buildTest Builds镜像是一个专为测试软件项目构建过程设计的工具镜像,提供标准化测试环境,封装常用构建工具与依赖管理组件,确保构建过程在不同环境下的一致性和可靠性,简化构建测试流程,提升开发与CI/CD效率。
通过docker run命令启动容器,挂载项目目录并指定构建命令:
bash# 示例:测试Maven项目构建 docker run -it --rm \ -v $(pwd):/app \ # 挂载本地项目目录到容器内/app -w /app \ # 设置工作目录为/app -e BUILD_CMD="mvn clean install" \ # 指定构建测试命令 test-builds:latest
通过环境变量自定义构建测试行为:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
BUILD_CMD | 构建测试命令(必填) | echo "No build command specified" |
TOOL_VERSION | 构建工具版本(如maven:3.8.5) | 内置最新稳定版 |
LOG_LEVEL | 日志级别(info/warn/debug) | info |
CACHE_DIR | 依赖缓存目录路径 | /root/.build-cache |
REPORT_PATH | 测试报告输出路径 | /app/build-test-report.json |
FAIL_ON_ERROR | 构建失败时是否终止容器(true/false) | true |
创建docker-compose.yml集成到项目:
yamlversion: '3.8' services: build-test: image: test-builds:latest volumes: - ./:/app # 挂载项目目录 - build-cache:/root/.build-cache # 持久化依赖缓存 environment: - BUILD_CMD="npm install && npm run build && npm test" - TOOL_VERSION="node:18" - LOG_LEVEL="debug" - REPORT_PATH="/app/test-reports/build-test.xml" working_dir: /app volumes: build-cache: # 持久化缓存卷,加速后续构建
启动命令:
bashdocker-compose up build-test
通过挂载配置文件覆盖默认构建工具配置(如Maven settings.xml):
bash# 示例:使用自定义Maven配置测试构建 docker run -it --rm \ -v $(pwd):/app \ -v $(pwd)/custom-maven-settings.xml:/etc/maven/settings.xml \ # 挂载自定义配置 -e BUILD_CMD="mvn clean package" \ test-builds:latest
构建完成后,报告默认生成在REPORT_PATH指定路径(如/app/build-test-report.json),可通过以下命令查看:
bash# 从容器复制报告到本地(若未挂载目录) docker cp <container_id>:/app/build-test-report.json ./
报告内容示例(JSON):
json{ "buildCommand": "mvn clean install", "status": "success", "duration": 125, # 耗时(秒) "timestamp": "2024-05-20T10:30:45Z", "output": "(构建输出日志摘要)", "artifacts": ["/app/target/demo-1.0.0.jar"] }
build-cache)可显著提升重复构建测试速度FAIL_ON_ERROR=true,确保构建失败时中断流水线--pull=always获取最新镜像版本
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务