环境与各环境的值
将同一套配置从开发环境推广到生产环境
环境与各环境的值 是 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 反馈 — 无需本地设置。