マージャーは各 YAML 入力を解析し、得られたマッピングを結合して整形済みの結果を出力します。入力は順番にマージされるため、Helm values やデプロイ manifest のように、ベース設定へ環境別の上書きを重ねる用途に向いています。
複数の文書に同じキーがある場合、後の入力を優先するか前の入力を優先するかを選べます。配列は連結または置換でき、ネストしたマッピングは選択した戦略で再帰的にマージされます。
YAML はデプロイ動作を制御することが多いため、マージ結果は本番設定へ戻す前に確認する必要があります。ブラウザ内のワークフローなら、内部設定をアップロードせずに戦略を試せます。
このテーマに関するよくある疑問と回答をまとめました。
2つ以上の YAML ドキュメントを1つに統合し、すべてのソースのマッピングを結合します。競合と配列のマージ戦略は設定可能です。
はい — 一度に最大 5 つの入力をマージできます。左から右へ順番に結合されるため、最も右の入力が競合キーに対して最終的な決定権を持ちます(A → B に切り替えない限り)。
デフォルトでは後のドキュメントの値が優先されます(B → A)、配列は連結されます。A → B に切り替えると最初のドキュメントの値が保持され、配列を Replace にすると後の配列が完全に上書きします。
はい — ネストされたマッピングはどちらの競合戦略でも再帰的にマージされ、配列は選択された配列戦略(Concat または Replace)が各深度で適用されます。
よくある利用シーンには Kubernetes マニフェストの統合、環境ごとの Helm チャート値の組み合わせ(base + dev/staging/prod のオーバーライド)、複数の CI/CD 設定(GitHub Actions、GitLab CI)の単一ドキュメントへの集約が含まれます。
いいえ、YAMLマージはすべてブラウザ内で行われます。両方のファイルがJavaScriptでローカルにマージされ、何もアップロードされません。