
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
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):
bash# 运行Go程序(将当前目录挂载到容器工作区) docker run --rm -v $(pwd):/go/src/app -w /go/src/app docker.xuanyuan.run/circleci/golang:<go-version> go run main.go # 执行单元测试 docker run --rm -v $(pwd):/go/src/app -w /go/src/app docker.xuanyuan.run/circleci/golang:<go-version> go test -v ./...
在项目根目录的.circleci/config.yml中指定该镜像作为执行环境,示例如下:
yamlversion: 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。您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务