0Pricing
DevOps Bootcamp · レッスン

define で Partial を定義する

再利用可能な名前付き Template ブロックを宣言します。

「define で Partial を定義する」はCoddyKit上の無料DevOps Bootcampレッスンです。 これはレッスン1/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはDevOps Bootcamp学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 DevOps Bootcampコースには全4レッスンが含まれています。

なぜ繰り返しを避けるのか

同じラベルや名前が、チャート内のすべてのマニフェストにコピーされることがあります。named templateを使えば、そのブロックを一度だけ記述して、どこからでも再利用できます。

define アクションを使う

defineアクションを使って再利用可能なブロックを宣言します。これはテンプレートテキストの一部に名前を付けるだけで、それ自体では何もレンダリングしません。

{{- define "mychart.labels" -}}
app: my-app
{{- end -}}

define ブロックの構造

すべてのdefineは名前文字列で始まり、endで終わります。その間にある部分が、呼び出し元によって取り込まれる本文です。

{{- define "NAME" -}}
  ...body...
{{- end -}}

命名規則が重要な理由

名前はチャート全体でグローバルになるため、衝突を避けるためにチャート名を先頭へ付けます。慣例ではドット形式のchart.purposeを使います。

{{- define "mychart.selectorLabels" -}}
app.kubernetes.io/name: mychart
{{- end -}}

パーシャルを置く場所

慣例として、すべての define ブロックをtemplates/_helpers.tplに置きます。先頭のアンダースコアは、このファイル自体がマニフェストを出力しないことを Helm に伝えます。

アンダースコアで始まるファイルは特別

templates 内でunderscoreから始まるファイルは、Kubernetes オブジェクトにレンダリングされません。他のテンプレートが使うパーシャルやヘルパーだけを格納します。

define は出力を生成しない

パーシャルを定義すると、名前が登録されるだけです。別のテンプレートがそのパーシャルを実際にcallsするまで、レンダリングされた YAML には何も現れません。

パーシャルではドットを使える

パーシャル内では.Release.Nameのようなコンテキストを読み取れますが、呼び出し元がそのスコープを渡している場合に限られます。スコープの渡し方は後ほど説明します。

{{- define "mychart.name" -}}
{{ .Release.Name }}
{{- end -}}

1つのファイルに複数のパーシャル

_helpers.tpl には、必要な数だけdefineブロックを重ねて記述できます。関連するヘルパーをまとめると、ファイル全体を確認しやすくなります。

{{- define "mychart.name" -}}
my-app
{{- end -}}
{{- define "mychart.fullname" -}}
my-app-prod
{{- end -}}

パーシャルで大きなチャートを構築する

チャートが大きくなると、パーシャルによって重複するラベルや名前の整合性を保てます。ヘルパーを一度変更するだけで、それを使うすべてのマニフェストが同時に更新されます。

定義は作業の半分にすぎない

define だけでは何も起こりません。次のステップでは、includeまたは template を使って実際のマニフェストに挿入します。詳しくは次のレッスンで説明します。

クイックチェック

define ブロックを追加したのに、レンダリング結果が空です。なぜでしょうか。

振り返り: パーシャルの定義

defineで再利用可能なブロックを宣言し、chart.purpose という名前を付けて、_helpers.tpl に保存する方法を学びました。次は、それらを呼び出します。🧩

よくある質問

「define で Partial を定義する」レッスンは無料ですか?

はい。「define で Partial を定義する」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、DevOps Bootcampコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 DevOps Bootcampコースには全4レッスンが含まれています。

「define で Partial を定義する」で何を学びますか?

再利用可能な名前付き Template ブロックを宣言します。 ブラウザで直接実行するハンズオンコードでDevOps Bootcampを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。

DevOps Bootcampを始めるのに経験は必要ですか?

事前経験は必要ありません。CoddyKitのDevOps Bootcampは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン1/4です。

「define で Partial を定義する」レッスンにはどのくらい時間がかかりますか?

ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。

このDevOps Bootcampレッスンでコードを書いて実行できますか?

はい。すべてのDevOps Bootcampレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。

このコースのすべてのレッスン

  1. define で Partial を定義する
  2. template と include で Partial を挿入する
  3. 標準の Fullname と Labels Helper
  4. 名前付き Template に Scope を渡す
← DevOps Bootcampに戻る