StackVista/image-pipeline
GitHub: StackVista/image-pipeline
这是一套用于自动化容器镜像构建、扫描、证明和发布的可复用GitHub Actions工具集。
Stars: 0 | Forks: 1
# 镜像处理工具集
用于构建、扫描、证明和发布容器镜像的可复用 GitHub Actions。
## 目录结构
| 路径 | 用途 |
|------|------|
| `.github/actions/scan-image/` | 组合操作:使用 Trivy + Grype 扫描镜像,依据策略进行判断,并输出 SARIF |
| `evaluator/` | Go 二进制文件 (`image-pipeline-evaluate`),用于将异常策略应用到扫描器输出 |
| `schemas/exception.schema.json` | 针对每个消费者的异常文件的 JSON Schema |
| `vex/repository.yaml` | Trivy VEX 中心配置 |
| `.github/workflows/` | 操作和评估器的 CI;评估器二进制文件的发布流程 |
异常 YAML 文件本身位于 **消费者仓库** 中,而不是此仓库,它们通过 `scan-image` 操作的 `exceptions-path` 输入来指定。
各操作的文档与操作本身位于同一目录:参见 [`.github/actions/scan-image/README.md`](./.github/actions/scan-image/README.md)。
## 本地开发
[mise](https://mise.jdx.dev) 用于管理工具版本:
```
mise run build # builds ./bin/image-pipeline-evaluate
mise run test # go test ./...
mise run lint # gofmt + go vet + zizmor
mise run lint-workflows # zizmor on workflows + composite actions
```
评估器详情:[`evaluator/README.md`](./evaluator/README.md)。
## 依赖更新
上游依赖的固定版本使用 [updatecli](https://www.updatecli.io/) 在 `.updatecli/` 目录下进行跟踪。
- `.github/workflows/updatecli-ci.yml` 为更改了 updatecli 配置或工作流的 PR 运行 `updatecli pipeline diff`。这是只读验证,不会自动提交更新 PR。
- `.github/workflows/bump-upstream-pins.yml` 每周以及手动触发时运行 `updatecli pipeline apply`。它使用 updatecli GitHub App 令牌为每个 updatecli 管道(例如 `[updatecli] bump Go dependencies` 和 `[updatecli] bump GitHub Actions pins`)单独提交或更新 PR。
- updatecli 清单跟踪 Go 模块更新、GitHub Actions SHA 固定版本以及嵌入在 `.github/actions/scan-image/action.yml` 中的工具固定版本。
## 发布
评估器二进制文件通过从 `main` 分支推送 SemVer 标签来发布:
```
git tag -a v0.1.0 -m "evaluator v0.1.0"
git push origin v0.1.0
```
这会触发 `.github/workflows/evaluator-release.yml`,该工作流使用 goreleaser 构建 linux/darwin × amd64/arm64 架构的归档文件 + 校验和,并发布一个 GitHub Release。
`v*` 标签命名空间当前属于评估器。如果添加了第二个可发布构件(例如一个构建操作),标签方案将需要重新考虑。
## 路线图
- 可复用的构建工作流(镜像构建 + SBOM 证明)
- 每个平台的 SBOM + 漏洞报告的 Cosign 无密钥 OIDC 证明
- 发布工作流(带来源信息的仓库推送)
标签:Angular, EVTX分析, GitHub Actions, Go语言, Grype, JSON Schema, mise, SARIF, updatecli, VEX, Web截图, 二进制构建, 依赖更新, 发布流水线, 复合动作, 容器安全, 容器镜像, 工具版本管理, 异常管理, 日志审计, 活动识别, 程序破解, 策略评估, 自动化构建, 自动笔记, 镜像扫描