環境と環境別の値
同じ設定を開発環境から本番環境へ昇格させます。
「環境と環境別の値」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン3/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。
1つのスタック、複数の環境
開発、ステージング、本番では同じアプリを異なる設定で実行します。Helmfile のenvironmentsを使えば、1つのファイルでそれらすべてをすっきり記述できます。
environments ブロック
各環境をトップレベルのenvironmentsブロックの下で宣言します。名前付きの各環境では、専用の values ファイルを読み込めます。
environments:
dev:
values:
- envs/dev.yaml
prod:
values:
- envs/prod.yaml-e で選択する
コマンドラインで-eを使ってアクティブな環境を選択します。Helmfile はその環境の values だけを読み込みます。
helmfile -e prod sync.Environment.Values ツリー
読み込まれた値は.Environment.Valuesに格納されます。helmfile.yaml の任意の場所で、Go テンプレート構文を使って読み取れます。
{{ .Environment.Values.replicaCount }}環境ごとのレプリカ数
典型的な用途として、開発環境では1つのレプリカを、本番環境では複数のレプリカを実行します。setの値をハードコードせず、環境からテンプレートで設定します。
set:
- name: replicaCount
value: {{ .Environment.Values.replicaCount }}共通のベースと環境ごとの上書き
まずベースとなる values ファイルを指定し、その後に環境用ファイルを指定します。environmentファイルでは異なるキーだけを上書きするため、共通設定を1か所にまとめられます。
values:
- envs/base.yaml
- envs/{{ .Environment.Name }}.yaml.Environment.Name ヘルパー
.Environment.Nameは、アクティブな環境の名前を文字列として返します。名前付けやラベル付け、ファイルパスの動的な選択に便利です。
namespace: app-{{ .Environment.Name }}デフォルト環境
default環境を定義すると、-e なしの通常の helmfile コマンドも動作します。環境が指定されていない場合に実行されます。
environments:
default:
values:
- envs/dev.yaml環境の値をインラインで指定する
小さな差分なら、ファイルではなく環境の下にインラインで記述できます。valuesにマップを指定し、1つか2つのキーだけを設定します。
environments:
prod:
values:
- replicaCount: 5フォークせずに昇格する
ロジックを共有し、値だけを変更できるため、ファイルをコピーするのではなく -e を切り替えて、同じリリースを開発環境から本番環境へ昇格できます。
シークレットを外部に置く
環境用の values ファイルには、機密性の高い設定が含まれることがあります。実際のシークレットは暗号化するか、Vault に保管し、Git 上のこれらのファイルに平文で記述しないでください。
クイックチェック
helmfile.yaml の本番環境をデプロイしたいとします。どのように選択しますか?
振り返り: 環境
environmentsを定義し、-e で環境を選択し、.Environment.Values を読み取ることで、同じスタックを複数の環境へ昇格できることを学びました。次は、適用方法です。🚀
よくある質問
「環境と環境別の値」レッスンは無料ですか?
はい。「環境と環境別の値」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。
「環境と環境別の値」で何を学びますか?
同じ設定を開発環境から本番環境へ昇格させます。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
DevOps Bootcampを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン3/4です。
「環境と環境別の値」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このDevOps Bootcampレッスンでコードを書いて実行できますか?
はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。