Matrix Music Bot Dev
|
fab14e3196
|
ci: Gitea Actions 自动构建 + 推送镜像到 Container Registry
按用户选定方案:
- Registry: Gitea 内置 Container Registry
- 触发: 仅 push master/main
- 标签: latest + git short SHA
- 架构: linux/amd64 单架构
新增文件:
.gitea/workflows/build-image.yml CI workflow 定义
.gitea/README.md Gitea Actions 运维手册
workflow 步骤:
1. actions/checkout@v4 检出源码
2. dtolnay/rust-toolchain@stable 安装 Rust(仅用于 cache key 计算)
3. Swatinem/rust-cache@v2 缓存 Cargo registry / target
4. cargo metadata sanity check 防止 manifest 漂移
5. docker/setup-buildx-action@v3 Buildx
6. docker/login-action@v3 登录 Gitea Registry(用 ${{ gitea.token }})
7. docker/metadata-action@v5 生成 latest + sha 标签 + OCI labels
8. docker/build-push-action@v5 构建 + 推送(含 BuildKit registry cache)
9. aquasecurity/trivy-action CVE 扫描(不阻塞)
特性:
- concurrency 控制:避免重复构建(同一 ref 只跑最新)
- 自动镜像标签:latest + commit short SHA
- BuildKit cache 推到 :buildcache 镜像(下次构建复用)
- Gitea 内置 token 自动认证(无需手动 secrets)
- OCI 标准 labels(title/source/license/vendor)
gitea/README.md 包含:
- 前置要求(Registry 开启、Runner 注册、网络)
- 镜像使用示例
- 常见扩展(tag 触发 / 多架构 / 自动部署)
- 故障排查(login 失败 / build 失败 / pull 失败)
|
2026-07-03 00:02:51 +08:00 |
|