DevOps Bootcamp · 课时

CI 中的检查与模板门禁

尽早因无效图表使构建失败

第 1 / 4 课13 个步骤

CI 中的检查与模板门禁 是 CoddyKit 上的免费 DevOps Bootcamp 课时。 这是第 1 节课,共 4 节。 你可以在下方免费阅读本课时的完整内容 — 然后在浏览器中使用内置代码编辑器和全天候 AI 导师进行实践。 这是 DevOps Bootcamp 学习路径的一部分,你的进度在网页和 CoddyKit 应用中同步。 DevOps Bootcamp 课程共包含 4 节课。

在进入集群前捕获错误

有问题的图表应该让您的流水线失败,而不是让生产集群失败。持续集成关卡可以在拉取请求创建时立即拒绝有问题的图表。🛡️

helm lint 是您的第一道关卡

helm lint 命令会对图表运行静态检查:它会验证结构、必填字段和常见的最佳实践问题,而且不会接触任何集群。

helm lint ./mychart

lint 实际检查什么

lint 会标记缺少 Chart.yaml 字段、无法解析的模板,或不是 URL 的图标。它运行速度快,也不需要连接 Kubernetes。

严格模式将警告变为失败

添加 --strict,让 lint 警告也导致运行失败。在持续集成中,任何可疑问题都应该让构建失败,而不是留下没人阅读的无声警告。

helm lint --strict ./mychart

使用实际值运行 lint

传入 -f,针对发布项实际使用的值运行 lint。图表在没有值时可能有效,但合并生产值后就可能出错。

helm lint -f values-prod.yaml ./mychart

第二道关卡:helm template

lint 通过后,运行 helm template,在本地渲染所有清单。如果模板处理失败,流水线会在任何内容到达 Kubernetes 之前停止。

helm template ./mychart > rendered.yaml

template 为何能捕获更多问题

lint 检查较浅;helm template 会完整求值您的 Go 模板逻辑。范围表达式中的拼写错误或空值会在这里暴露,而不是等到部署时才出现。

退出代码驱动关卡

两个命令失败时都会返回非零的退出代码。持续集成运行器会自动读取该代码并将任务标记为失败,从而阻止合并。

根据 API 验证渲染后的 YAML

将渲染后的输出通过管道传给 kubeval 或 kubeconform,以确认它符合真实的 Kubernetes 模式。这可以及早发现错误的字段名称。

helm template ./mychart | kubeconform -strict

将其接入 CI 步骤

在一个任务中串联这些关卡,让失败可以短路后续步骤。在大多数运行器中,&& 会在第一个非零退出代码处停止,从而快速反馈。

helm lint --strict ./mychart && helm template ./mychart > /dev/null

在每个 PR 上运行关卡

在每个PR上触发这些检查,而不只是合并时触发。审查者可以看到绿色检查结果,确认图表仍能正确渲染。

快速检查

哪个关卡会完整求值您的 Go 模板逻辑,从而捕获错误的范围表达式?

回顾:在 CI 中快速失败

使用 helm lint --strict,然后运行 helm template,为每个变更设置关卡,并可选择对输出进行模式检查。有问题的图表会让构建失败,而不会影响集群。✅

免费开始

用 AI 导师学习 DevOps Bootcamp — 免费

在浏览器中编写并运行真实代码,获得全天候 AI 导师的即时帮助,并在网页或应用中继续学习。

课程
142
课程
568

常见问题解答

「CI 中的检查与模板门禁」课时是免费的吗?

是的 — 「CI 中的检查与模板门禁」的完整文本可在网页上免费阅读。要进行交互式练习(内置代码编辑器和全天候 AI 导师)并解锁 DevOps Bootcamp 课程的其余内容,请升级到 CoddyKit PRO。 DevOps Bootcamp 课程共包含 4 节课。

「CI 中的检查与模板门禁」这节课中我会学到什么?

尽早因无效图表使构建失败 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

无需任何先前经验。CoddyKit 上的 DevOps Bootcamp 课程适合初学者到高级学习者,你可以从这里开始或从头开始,按照自己的节奏学习。 这是第 1 节课,共 4 节。

「CI 中的检查与模板门禁」课时需要多长时间?

大多数 CoddyKit 课程大约需要 5–10 分钟。每节课都很精短且互动,所以你能稳步进步,并在网页和应用中从离开的地方继续。

我能在这节 DevOps Bootcamp 课中编写并运行代码吗?

能。每节 DevOps Bootcamp 课都包含内置代码编辑器,你可以在浏览器中直接编写并运行真实代码,并获得即时 AI 反馈 — 无需本地设置。

此课程中的所有课时

  1. CI 中的检查与模板门禁
  2. 使用 helm diff 预览变更
  3. 使用 upgrade --install --atomic 自动部署
  4. 从发布作业发布图表
← 返回 DevOps Bootcamp