需求
- 根据仓库的helm chart,自动构建Chart,并且推送到Chart仓库
难点
- 没有合适的resource,需要自己通过脚本实现。
- 需要自己构建helm的镜像,用于chart的推送。
思路
- 首先构建用于helm打包chart的基础镜像
- 编写打包脚本
- 配合脚本镜像chart打包,并上传至chart仓库
helm基础镜像dockerfile部分内容
1 | *** |
简单说明
- 将helm二进制文件添加到镜像中。
- 安装helm-push插件,用于构建中push chart。
- 添加helm源。
chart打包推送脚本部分内容
1 | *** |
简单说明
- chart的名称以及version是从Chart.yaml文件中获取。
- 打包后推送至当前helm镜像中的chart仓库中。
推送chart pipeline部分配置
1 | resources: |
简单说明
- 将harbor-script以及chart-template两个resource获取到。
- 将上述两个资源作为inputs提供给helm-box使用。
- 在helm-box中执行Upload-Chart.sh脚本,传入待打包的路径名。
注意点
- 上述功能,可以自定义编写成自定义的resource,这样传入的变量可以进行更好的控制。