0Pricing
DevOps Bootcamp · 课时

环境与各环境的值

将同一套配置从开发环境推广到生产环境

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

一个技术栈,多个阶段

开发、预发布和生产环境运行相同的应用,但使用不同的设置。Helmfile 的环境功能让一个文件能够清晰地描述所有环境。

环境块

您可以在顶层环境块下声明每个阶段。每个命名环境都可以加载自己的值文件。

environments:
  dev:
    values:
      - envs/dev.yaml
  prod:
    values:
      - envs/prod.yaml

使用 -e 选择

您可以在命令行中使用-e选择活动环境。然后,Helmfile 只会加载该环境的值。

helmfile -e prod sync

.Environment.Values 值树

加载的值会存入.Environment.Values。您可以在 helmfile.yaml 的任何位置使用 Go 模板语法读取它们。

{{ .Environment.Values.replicaCount }}

各环境的副本数量

一个经典用法是:开发环境运行一个副本,生产环境运行多个副本。您可以从环境中为设置值编写模板,而不是将其硬编码。

set:
  - name: replicaCount
    value: {{ .Environment.Values.replicaCount }}

共享基础配置,环境覆盖

先列出基础值文件,再列出环境文件。环境文件只覆盖有差异的键,从而将共享配置保留在一个位置。

values:
  - envs/base.yaml
  - envs/{{ .Environment.Name }}.yaml

.Environment.Name 辅助项

.Environment.Name以字符串形式提供活动环境的名称。它非常适合用于命名、标签,或动态选择文件路径。

namespace: app-{{ .Environment.Name }}

默认环境

定义默认环境,这样即使不使用 -e,直接运行 helmfile 命令也能正常工作。未指定环境时就会使用它。

environments:
  default:
    values:
      - envs/dev.yaml

内联环境值

较小的差异可以直接内联在环境下,而不必放入文件。使用带映射的值,只设置一两个键即可。

environments:
  prod:
    values:
      - replicaCount: 5

不分叉即可提升

由于逻辑是共享的,只有值会变化,因此您可以通过切换 -e,将同一个发布项从开发环境提升到生产环境,而不是复制文件。

排除机密

环境值文件通常包含敏感配置。请将真实的机密加密保存或存放在密钥保管库中,绝不要以明文形式存放在 Git 中的这些文件里。

快速检查

您想要部署 helmfile.yaml 的生产阶段。应如何选择它?

回顾:环境

您学会了定义环境,使用 -e 选择环境,并读取 .Environment.Values,从而在各阶段提升同一个技术栈。下一步:应用配置。🚀

常见问题解答

「环境与各环境的值」课时是免费的吗?

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

「环境与各环境的值」这节课中我会学到什么?

将同一套配置从开发环境推广到生产环境 你通过在浏览器中直接运行的动手代码来练习 DevOps Bootcamp,全天候 AI 导师会在你学习这节课的过程中回答你的问题。

学习 DevOps Bootcamp 需要有经验吗?

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

「环境与各环境的值」课时需要多长时间?

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

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

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

此课程中的所有课时

  1. 为什么 Helmfile 位于 Helm 之上
  2. 在 helmfile.yaml 中定义发布
  3. 环境与各环境的值
  4. helmfile diff、apply 和 sync
← 返回 DevOps Bootcamp