CI/CD 坑点 记录

1. Docker build 504 超时 --- goproxy.cn sumdb 偶发故障

国内经典问题,Go 默认强制校验模块哈希(防供应链攻击),但国内访问不了 sum.golang.org,只能依赖 goproxy.cn 做中转。goproxy.cn 本身不是 100% 可用,一旦它的 sumdb 代理抽风,构建就挂。 CI 执行 docker build 时,在安装 grpc-health-probe 步骤卡住后报错:

go 复制代码
go: downloading github.com/spiffe/go-spiffe/v2 v2.x.x
verifying github.com/spiffe/go-spiffe/v2@v2.x.x: 504 Gateway Timeout

解决方案:

ini 复制代码
RUN CGO_ENABLED=0 GOOS=linux \
    GOPROXY=https://goproxy.cn,direct \
    GOSUMDB=off \
    go install github.com/grpc-ecosystem/grpc-health-probe@v0.4.25

风险点:投毒了你就完蛋了,但是当前版本已经上传到内部的镜像里面了。

2. Go 版本不匹配导致 CI 编译失败

小问题,统一所有服务 Dockerfile 的 builder 阶段为 golang:1.25-alpine:(go-zero 要求版本)

3. ImagePullBackOff --- cnb-registry-secret 权限不足

问题现象: Pod 状态卡在 ImagePullBackOff,describe pod 显示:

vbnet 复制代码
Failed to pull image "docker.cnb.cool/xxxx.com-2025/xxxl:latest": 
rpc error: code = Unknown desc = failed to pull and unpack image: 
unauthorized: authentication required

因为 docker pull 的时候没有 personal access token

markdown 复制代码
解决方案
1.  去 cnb.cool 后台 → 组织设置 → 给 `cnb-registry-secret` 对应用户添加 `docker:pull` 权限
2.  重新生成 token
3.  重建 k8s secret:  
ini 复制代码
kubectl -n production delete secret cnb-registry-secret
kubectl -n production create secret docker-registry cnb-registry-secret \
  --docker-server=docker.cnb.cool \
  --docker-username=cnb \
  --docker-password=<新token> \
  --docker-email=dev@cnb.cool
kubectl -n production rollout restart deploy/money-controll

碎碎念: 现在职责变得模糊化,不过也是好事,从单单写业务然后去做一些运维相关的东西

相关推荐
Python私教2 分钟前
模型越强越不需要 Skills?我把 AI 编程能力拆成 4 层
人工智能·后端·python
名字还没想好☜1 小时前
Go 的 io.Reader/Writer 组合实战:io.Copy、TeeReader、MultiWriter 优雅处理数据流
开发语言·后端·golang·go·iphone
喵个咪2 小时前
GoWind Shop 架构剖析:一个 REST 请求穿越三服务 BFF 的七环链路
vue.js·后端·go
喵个咪2 小时前
GoWind Shop 安全设计:JWT 鉴权、Ent 行级隔离、防篡改审计与四个真实漏洞修复
vue.js·后端·go
喵个咪2 小时前
GoWind Shop:一个 proto 文件如何生成后端、前端、文档、校验六路代码
vue.js·后端·go
用户7783366132112 小时前
从 0 搭一个关键词排名监控:核心思路 + 可运行代码
后端·python·api
喵个咪2 小时前
GoWind Shop 出海实战:多语言商品内容怎么存、怎么录、怎么按 locale 取
vue.js·后端·go
郝学胜_神的一滴3 小时前
C++20 高级编程 001:从极简HelloWorld到现代类型体系全梳理
c++·后端
卷无止境3 小时前
FastAPI中间件全解析:请求处理链条上的隐形关卡
后端·python·fastapi
badhope3 小时前
MCP协议:号称要统一AI工具调用,但大多数人连第一步都走不对
后端·架构