一个基于 Skopeo 和 Helm 的同步工具,支持 Docker 镜像多架构批量同步和 Helm Chart 的同步转换。
docker-images-chrom/ ├── docker-build.sh # Docker 镜像同步脚本(单个镜像) ├── image-sync.sh # Docker 镜像批量同步脚本 ├── helm-build.sh # Helm Chart 同步脚本(单个 Chart) ├── helm-sync.sh # Helm Chart 批量同步脚本 ├── Dockerfile # 定制的 Skopeo + Helm 镜像构建文件 ├── .cnb.yml # 流水线配置文件 ├── .cnb/ # 流水线触发器配置 │ ├── web_trigger.yml │ ├── api_trigger.yml │ └── ISSUE_TEMPLATE/ │ ├── 1-image-sync.yml # Docker 镜像同步模板 │ └── 2-helm-sync.yml # Helm Chart 同步模板 └── README.md # 项目文档


issue列表页面,选择创建issue,使用 镜像同步模板,填写镜像地址和目标架构,点击提交,即可触发构建,构建结果和进度可直接在你提交的issue下查看。

Docker 镜像同步参数:
IMAGE_URL 或 img: 源镜像地址(必需)ARCH 或 arch: 目标架构,可选值:
amd64 - x86 64位架构arm64 - ARM 64位架构riscv64 - RISC-V 64位架构ppc64le - PowerPC 64位小端架构s390x - IBM System z 架构mips64le - MIPS 64位小端架构loong64 - LoongArch 64位架构在 CNB 流水线页面,选择 web_trigger_four 或 api_trigger_four,设置以下参数:
type: helm
chart: oci://registry-1.docker.io/bitnamicharts/nginx
或使用传统仓库格式:
type: helm
chart: prometheus --repo https://prometheus-community.github.io/helm-charts
issue列表页面,选择创建issue,使用 Helm Chart 同步模板,填写 Chart 地址,点击提交,即可触发构建。
Helm Chart 同步参数:
type: 设置为 helm 表示同步 Helm Chartchart: Chart 地址,支持以下格式:
oci://registry-1.docker.io/bitnamicharts/nginxprometheus --repo https://prometheus-community.github.io/helm-charts同步成功后,可以通过以下方式使用:
# 方法1: 直接从 OCI 仓库安装
helm install my-release oci://docker.cnb.cool/your-repo/chart-name:version
# 方法2: 先拉取再安装
helm pull oci://docker.cnb.cool/your-repo/chart-name:version
helm install my-release ./chart-name-version.tgz
# 方法3: 查看 Chart 信息
helm show chart oci://docker.cnb.cool/your-repo/chart-name:version
helm show values oci://docker.cnb.cool/your-repo/chart-name:version
脚本会自动检测源镜像支持的架构:
skopeo inspect --raw 获取镜像 manifestunknown、null)Helm Chart 同步支持两种模式:
OCI 格式同步
传统仓库同步
本项目采用 MIT 许可证。
欢迎提交 Issue 和 Pull Request 来改进这个项目!
感谢 CNB 平台的桥接支持 🙏