Agent Skills
返回列表
🔒

Helm 图表 PR 合并前校验

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/lint-and-test-helm-charts-in-pull-requests-before-kubernetes-packaging-changes-merge-with-chart-testing

技能介绍

要解决的问题

Helm 图表的改动往往同时落在 values、模板与依赖上。一次看起来无害的 values 调整,可能让模板渲染直接失败;一处缩进错误的 YAML,可能让 chart 在集群里根本无法 install。等到合并之后、发布前夕才暴露,排查成本和回滚压力都会成倍放大。这个技能要解决的就是:在 PR 阶段把问题拦下来。

技能如何工作

它基于上游开源工具 chart-testing(ct),针对发生变更的 chart 运行两类核心检查:

  • lint 检查:校验 Chart.yaml 与 values.yaml 的语法和结构,确认模板渲染结果合法,并对照官方 schema 验证 chart 元数据。
  • install 检查:在 Kubernetes 测试环境中真实安装 chart,验证渲染出的 manifest 能被集群正常接受。

关键前提与步骤:

  • 准备 ct 二进制或官方 Docker 镜像,以及 Helm、Git。
  • 准备一个用于 install 检查的 Kubernetes 测试环境。
  • 可选路径:brew install chart-testing 配合 brew install coreutils;或直接使用镜像 quay.io/helmpack/chart-testing,其中已内置 Helm 与 Git 2.17.0+。

适用边界与注意点

  • install 检查依赖可用的测试集群,CI 环境需要自行提供。
  • Git 版本要求 2.17.0 或以上。
  • 检查范围限定在本次发生变更的 chart,并非全量回归。
  • 它本质上是把上游 ct 的能力封装成 PR 门禁流程,多集群矩阵等复杂策略仍需额外配置。

使用场景

  • 在提交包含 Helm 图表变更的 PR 时,运行 chart lint 与安装检查,提前拦截语法错误或渲染失败。
  • 在 CI 流水线中为每次 PR 自动触发 chart-testing,对变更的 chart 执行 install 检查,确保部署前模板有效。
  • 使用 chart-testing 镜像在隔离环境中验证 values 调整是否导致模板渲染异常,避免合并后故障。
  • 维护大型 Kubernetes 平台时,通过 PR 门禁强制要求所有 Helm 图表变更必须通过 lint 和 install 检查。

适合人员

  • 负责维护 Helm 图表的 DevOps 工程师,需要在合并前自动校验图表变更,避免部署故障。
  • Kubernetes 平台的 CI/CD 工程师,希望通过自动化检查确保每次 PR 的图表部署安全。
  • 使用 chart-testing 的团队,需要统一 PR 阶段的 lint 和 install 流程,减少人工审查负担。
  • 开源项目维护者,需要在 PR 中强制要求 Helm 图表变更通过严格校验,保证社区贡献质量。