
sofaframework/sofa_nightly_ubuntuSOFA 持续集成配置镜像是专为 SOFA(分布式架构中间件)项目设计的 Docker 镜像,提供预配置的持续集成环境,旨在简化 SOFA 应用及组件的 CI/CD 流程。镜像集成了 SOFA 项目开发所需的构建工具、测试框架及环境依赖,支持自动化构建、测试、打包及部署环节,降低 SOFA 项目集成流程的配置复杂度。
通过挂载项目目录并指定构建命令启动容器:
bashdocker run -it --rm \ -v $(pwd):/workspace \ # 挂载本地项目目录至容器工作区 -w /workspace \ # 设置工作目录 sofa/ci-config:latest \ # 镜像名称及标签 mvn clean package # 执行构建命令(如Maven打包)
通过 -e 参数传递环境变量,自定义构建行为:
| 环境变量名 | 说明 | 默认值 |
|---|---|---|
BUILD_TOOL | 构建工具选择(maven/gradle) | maven |
SOFA_VERSION | SOFA 组件版本号 | latest |
TEST_SCOPE | 测试范围(unit/integration/all) | unit |
SKIP_TESTS | 是否跳过测试(true/false) | false |
示例:指定 Gradle 构建并跳过测试
bashdocker run -it --rm \ -v $(pwd):/workspace \ -w /workspace \ -e BUILD_TOOL=gradle \ -e SKIP_TESTS=true \ sofa/ci-config:latest \ gradle build
创建 docker-compose.yml 定义服务:
yamlversion: '3' services: sofa-ci: image: sofa/ci-config:latest volumes: - ./:/workspace working_dir: /workspace environment: - BUILD_TOOL=maven - SOFA_VERSION=3.4.6 - TEST_SCOPE=integration command: mvn clean verify
启动命令:docker-compose run sofa-ci
将自定义构建逻辑写入脚本(如 ci-script.sh),挂载至容器并执行:
bashdocker run -it --rm \ -v $(pwd):/workspace \ -w /workspace \ sofa/ci-config:latest \ sh ci-script.sh
脚本示例(ci-script.sh):
bash#!/bin/sh # 编译项目 mvn clean package -DskipTests # 执行集成测试 mvn test -P integration # 生成测试报告 mvn surefire-report:report
-v ~/.m2:/root/.m2)以加速构建ENV http_proxy 等环境变量配置代理信息manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务