本站支持搜索的镜像仓库:Docker Hub、gcr.io、ghcr.io、quay.io、k8s.gcr.io、registry.gcr.io、elastic.co、mcr.microsoft.com

CircleCI Go镜像是由CircleCI提供的Docker镜像,专为Go语言项目的持续集成(CI)和持续部署(CD)流程设计。该镜像基于Go镜像构建,预安装了Go编译器、构建工具及依赖库,并针对CircleCI平台进行了优化,可无缝集成到CircleCI的自动化流程中,帮助开发者快速搭建稳定、高效的Go项目CI/CD环境。
1.21、1.20)及基础镜像变体(Debian默认版、Alpine轻量版),适配不同项目需求。circleci)运行,降低权限风险。golint)、代码覆盖率报告生成等流程。GOOS/GOARCH环境变量,支持构建多平台(如Linux、Windows、macOS)Go应用。可通过以下命令在本地快速测试Go环境(需替换<go-version>为具体版本,如1.21):
# 运行Go程序(将当前目录挂载到容器工作区) docker run --rm -v $(pwd):/go/src/app -w /go/src/app circleci/golang:<go-version> go run main.go # 执行单元测试 docker run --rm -v $(pwd):/go/src/app -w /go/src/app circleci/golang:<go-version> go test -v ./...
在项目根目录的.circleci/config.yml中指定该镜像作为执行环境,示例如下:
version: 2.1 jobs: build-test-deploy: docker: - image: circleci/golang:1.21 # 使用Go 1.21版本(基于Debian) steps: - checkout # 拉取代码到容器工作区 - restore_cache: # 恢复依赖缓存(加速构建) keys: - go-mod-{{ checksum "go.sum" }} - run: go mod download # 下载项目依赖 - save_cache: # 缓存依赖 paths: - /go/pkg/mod key: go-mod-{{ checksum "go.sum" }} - run: go test -race -coverprofile=coverage.txt ./... # 运行带竞态检测的测试 - run: go build -o app ./cmd # 编译应用 - store_artifacts: # 存储构建产物到CircleCI工件库 path: app destination: build-output/ workflows: main: jobs: - build-test-deploy: filters: branches: only: main # 仅在main分支触发
通过环境变量可自定义Go构建行为,常用配置如下:
| 环境变量 | 描述 | 默认值 |
|---|---|---|
GOPATH | Go工作区路径,依赖下载和编译产物默认存放于此 | /go |
GOROOT | Go安装路径 | /usr/local/go |
GO111MODULE | 控制Go模块支持(on启用模块,off禁用,auto自动检测) | on |
CGO_ENABLED | 是否启用CGO(0禁用,1启用,禁用时可构建纯静态链接二进制) | 1 (部分版本默认0) |
GOOS/GOARCH | 交叉编译目标系统和架构(如GOOS=linux GOARCH=arm64) | 当前容器系统的值 |
镜像标签格式为circleci/golang:<go-version>-<base-image>,说明如下:
| 标签示例 | 描述 |
|---|---|
circleci/golang:1.21 | 基于Debian的Go 1.21环境(默认) |
circleci/golang:1.21-alpine | 基于Alpine的轻量级Go 1.21环境(更小体积) |
circleci/golang:latest | 最新稳定版Go环境(不建议生产环境使用) |
提示:生产环境建议使用具体版本标签(如
1.21),避免因latest标签自动更新导致环境变更。
circleci用户(UID 3434),若需访问宿主机文件,需确保挂载目录权限正确。restore_cache/save_cache缓存$GOPATH/pkg/mod,可大幅减少依赖下载时间。CGO_ENABLED=1及安装对应Alpine包(如musl-dev)。GO111MODULE=on),若项目使用旧版GOPATH模式,需显式设置GO111MODULE=off。免费版仅支持 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