如何为Bitnami外部子图表(以Kafka为例)配置自动更新调度
实现Kubernetes Helm子图表版本自动检查与PR创建流程
下面介绍两种主流方案,帮你实现每日检查Bitnami Kafka子图表版本更新、自动修改依赖文件并创建PR的自动化流程:
方案一:使用GitHub Dependabot(GitHub仓库专属)
Dependabot是GitHub官方工具,配置简单,适合托管在GitHub上的仓库:
- 在仓库根目录创建
.github/dependabot.yml配置文件,内容如下:
version: 2 updates: # 针对Helm子图表的更新配置 - package-ecosystem: "helm" # 指定你的Chart.yaml或依赖文件所在路径(根目录则填"/") directory: "/" # 每日检查更新的UTC时间 schedule: interval: "daily" time: "08:00" # 自定义PR规则 target-branch: "main" labels: - "dependency-update" - "helm-chart"
- 提交并推送配置文件到仓库。之后Dependabot会每日按设定时间检查Bitnami仓库的Kafka子图表最新版本,一旦发现当前依赖版本(如
15.4.0)落后,就自动修改依赖文件,将版本更新至最新(如20.0.2),并创建新的PR请求合并。
方案二:使用Renovate(支持多平台仓库)
Renovate是开源跨平台依赖更新工具,支持GitHub、GitLab、Bitbucket等,功能更灵活:
- 在仓库根目录创建
renovate.json配置文件,内容如下:
{ "$schema": "https://docs.renovatebot.com/renovate-schema.json", "extends": ["config:base"], "packageRules": [ { "matchPackageNames": ["kafka"], "matchManagers": ["helm"], "schedule": ["daily"], "labels": ["helm-update", "kafka-chart"] } ] }
- 按照指引将Renovate机器人添加到仓库中。之后它会每日扫描依赖文件,检测到Kafka子图表有新版本时,自动更新依赖文件中的版本号并创建PR。
关键说明
- 确保你的依赖文件(如
Chart.yaml)中已正确配置Kafka子图表的仓库地址https://charts.bitnami.com/bitnami - 两种工具都会自动完成版本号替换,无需手动修改文件
- 你可在配置中自定义PR标签、目标分支、通知方式等,适配团队协作流程
内容的提问来源于stack exchange,提问作者Oded .S
相关产品推荐
相关产品推荐

