本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com
CircleCI Go测试镜像是由CircleCI官方提供的专用Docker镜像,旨在为Go(Golang)语言项目在CircleCI持续集成平台上提供标准化的自动化测试环境。该镜像集成了预配置的Go开发工具链、测试框架、依赖管理组件及CircleCI平台适配优化,可直接用于执行Go项目的单元测试、集成测试及代码覆盖率分析,有效减少测试环境配置开销,确保跨项目测试环境一致性。
go build、go test等),无需手动安装配置。1.21、1.22等),适配不同项目的版本需求。ginkgo、gotest.tools)及代码覆盖率工具(go test -cover)。go mod依赖管理,预置依赖缓存策略以加速测试流程。go test ./...)、集成测试(需额外配置依赖服务)、性能测试(go test -bench)及代码质量检测。在项目根目录的.circleci/config.yml中定义测试Job,指定镜像并执行测试命令:
version: 2.1 jobs: test: docker: - image: cimg/go:1.22 # 指定Go版本(镜像标签格式:cimg/go:<版本号>) steps: - checkout # 拉取代码 - run: go mod download # 下载项目依赖 - run: go test -v ./... # 执行测试(-v:显示详细日志)
配置CircleCI缓存go mod依赖,减少重复下载时间:
version: 2.1 jobs: test: docker: - image: cimg/go:1.22 steps: - checkout - restore_cache: # 恢复缓存(基于go.sum哈希值匹配) keys: - go-mod-v1-{{ checksum "go.sum" }} - run: go mod download # 下载依赖(缓存命中时仅下载变更项) - save_cache: # 保存缓存(仅在依赖变更时更新) paths: - /go/pkg/mod # Go模块缓存目录 key: go-mod-v1-{{ checksum "go.sum" }} - run: go test -v ./...
如需在本地验证测试流程,可直接通过Docker运行镜像:
# 拉取指定版本镜像 docker pull cimg/go:1.22 # 挂载本地项目目录并执行测试 docker run --rm -v $(pwd):/app -w /app cimg/go:1.22 go test -v ./...
| 环境变量名称 | 描述 | 默认值 | 示例 |
|---|---|---|---|
GO_VERSION | 镜像内置Go版本(与镜像标签对应) | 由镜像标签指定(如1.22) | 1.22 |
GOPATH | Go工作目录(包含src、pkg、bin) | /go | /go |
GOCACHE | Go构建缓存目录 | /go/cache | /go/cache |
TEST_FLAGS | 传递给go test的额外参数 | 无 | -race -cover(启用竞态检测与覆盖率) |
TEST_PKG | 指定测试包路径(默认测试所有包) | ./... | ./internal/service(仅测试特定包) |
version: 2.1 jobs: test: docker: - image: cimg/go:1.22 environment: TEST_FLAGS: "-race -coverprofile=coverage.txt" # 启用竞态检测与覆盖率报告 TEST_PKG: "./..." # 测试所有包 steps: - checkout - restore_cache: keys: - go-mod-v1-{{ checksum "go.sum" }} - run: go mod download - save_cache: paths: - /go/pkg/mod key: go-mod-v1-{{ checksum "go.sum" }} - run: go test $TEST_FLAGS $TEST_PKG # 执行带参数的测试 - store_artifacts: # 保存覆盖率报告到CircleCI工件(可在UI中查看) path: coverage.txt destination: coverage.txt workflows: test-workflow: jobs: - test # 定义测试流水线,触发条件可通过`triggers`配置(如代码推送、PR创建)
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录方式配置轩辕镜像加速服务,包含7个详细步骤
在 Linux 系统上配置轩辕镜像源,支持主流发行版
在 Docker Desktop 中配置轩辕镜像加速,适用于桌面系统
在 Docker Compose 中使用轩辕镜像加速,支持容器编排
在 k8s 中配置 containerd 使用轩辕镜像加速
在宝塔面板中配置轩辕镜像加速,提升服务器管理效率
在 Synology 群晖NAS系统中配置轩辕镜像加速
在飞牛fnOS系统中配置轩辕镜像加速
在极空间NAS中配置轩辕镜像加速
在爱快ikuai系统中配置轩辕镜像加速
在绿联NAS系统中配置轩辕镜像加速
在威联通NAS系统中配置轩辕镜像加速
在 Podman 中配置轩辕镜像加速,支持多系统
配置轩辕镜像加速9大主流镜像仓库,包含详细配置步骤
无需登录即可使用轩辕镜像加速服务,更加便捷高效
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429