Template 変数を割り当てる
ブロック内で再利用する値を保持します。
「Template 変数を割り当てる」はCoddyKit上の無料Helm Academyレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはHelm Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Helm Academyコースには全4レッスンが含まれています。
変数が役立つ理由
テンプレート内で同じ値が何度も登場する場合は、変数 に一度だけ格納して、長いパスを何度も繰り返さないようにします。
代入構文
ドル記号付きの名前とコロンイコール演算子を使って変数を宣言します。Helm では、$name に右辺の式の結果が格納されます。
{{ $name := .Values.appName }}変数はドル記号で始まる
テンプレート変数はすべて、先頭に ドル記号 を付けて記述します。これにより、Helm は変数とドットコンテキスト上のフィールドを区別できます。
変数を読み出す
一度代入した変数は、他の値と同じように YAML に記述できます。Helm は $name と書いた場所に、格納した結果を展開します。
metadata:
name: {{ $name }}組み込みオブジェクトを保持する
変数は長い式で特に役立ちます。リリース名 を一度保存しておけば、完全なパスを何度も入力する代わりに短い変数を再利用できます。
{{ $rel := .Release.Name }}
name: {{ $rel }}-config最初は :=、その後は =
コロンイコールは、変数を最初に 宣言 するときだけ使います。同じスコープ内で後から値を変更する場合は、通常の等号で再代入します。
{{ $count := 1 }}
{{ $count = 3 }}スコープはブロックに従う
変数は宣言した ブロック の内部で有効です。if や range の前で定義すれば、そのブロックの中で参照できます。
スコープ外には届かない
if ブロック内で変数を宣言すると、ブロックの終了とともに使えなくなります。その スコープ の外からは、Helm はその変数をまったく参照できません。
変数に分かりやすい名前を付ける
$fullName や $port のように、短く説明的な名前を選びます。分かりやすい 変数名 にすると、チームメンバーにとってテンプレートがずっと読みやすくなります。
変数とドット
ブロックに入るとドットの指す先は変わることがありますが、変数 は格納した値を保持します。この安定性こそが、変数が非常に便利な理由です。
式から代入する
代入の右辺には、パイプでつないだ式を含む任意の式を指定できます。Helm はそれを一度実行し、結果 を変数に格納します。
{{ $port := .Values.port | default 8080 }}確認問題
テンプレートの前の方で、{{ $svc := .Values.service.name }} と記述しました。
まとめ
:= で変数を宣言し、= で再代入し、ドル記号で値を読み出し、ブロックのスコープを守れるようになりました。これで、より整ったテンプレートを作れます! 🎯
よくある質問
「Template 変数を割り当てる」レッスンは無料ですか?
はい。「Template 変数を割り当てる」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Helm Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Helm Academyコースには全4レッスンが含まれています。
「Template 変数を割り当てる」で何を学びますか?
ブロック内で再利用する値を保持します。 ブラウザで直接実行するハンズオンコードでHelm Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Helm Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのHelm Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。
「Template 変数を割り当てる」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このHelm Academyレッスンでコードを書いて実行できますか?
はい。すべてのHelm Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- Template 変数を割り当てる
- range 内で Root のドットを保持する
- 実践で学ぶ nindent と indent の違い
- レンダリング後の空白をデバッグする