GitHub Actions 构建、测试、发布一体化¶
把 CI 写清楚的关键是:输入(代码/依赖)可控、过程可复现、输出(制品/镜像)可追溯。
1. 最小 workflow 结构¶
on: push / pull_request / workflow_dispatchjobs: build/test/releasepermissions: 最小权限(默认不要写入)
2. 缓存建议¶
- Node:
~/.npm或 pnpm store - Python:pip cache + venv(注意 key)
- Go:
GOMODCACHE与 build cache
3. 安全建议¶
- 不在日志打印 token
- 用 OIDC 替代长期密钥(云部署场景)
- 对第三方 action 固定到 commit SHA