YAML Diff
2つのYAMLファイルをオンラインで比較
単なるテキストではなく、ドキュメント構造を理解する無料のYAML diffツールで、2つのYAMLファイルをセマンティックにオンライン比較できます。キーはパスで比較され、アンカーとエイリアスは解決され、インデント、クォート、フロースタイルとブロックスタイルの違いで誤った差分が出ることはありません。
アップロードしたくないファイル向けに設計されています。Kubernetesシークレット、CIパイプラインの認証情報、社内ホスト名を含むHelm values。両方のドキュメントはパース、差分、表示までブラウザのタブ内に留まり、サーバーとの往復もロギングもありません。
テキスト差分ではなく、セマンティックなYAML比較
YAMLは空白に敏感ですが、スタイルには寛容です。シングルクォートかダブルクォートか、フロースタイルかブロックスタイルか、アンカーかインライン値かはすべて等価です。単純なテキスト差分は各スタイル変更を実際の差分として扱います。このYAML比較ツールは両方の入力を同じオブジェクトモデルにパースし、値をキーパスで比較するので、実際の変更だけが報告されます。
検出されるYAML差分のタイプ
このYAMLファイル比較ツールは、すべての変更を6つのタイプのいずれかに分類します。各差分にはタイプがタグ付けされ、spec.containers[0].image のような完全なキーパスで位置が示されます。
値の変更
name: old-app -> name: new-app
キーの追加
Original: (none) Changed: replicas: 3
キーの削除
Original: debug: true Changed: (removed)
型の変更
port: "8080" -> port: 8080
配列の変更
- redis - postgres -> - redis - mysql
ネストされた変更
spec:
containers:
- name: app
image: v1 -> v22つのYAMLファイルをオンラインで比較する方法
4ステップで、YAMLをオンラインで差分比較し、行単位の差分が生むノイズなしに設定間の実際の差分をすべて見つけられます。
オリジナルYAMLを貼り付け
最初のYAMLファイルを左のエディターにドロップします。ツールは比較前にドキュメントを検証し、行番号と列番号のポインタ付きでパースエラーを報告します。
変更後YAMLを貼り付け
2番目のYAMLを右のエディターに貼り付けます。両方のドキュメントがパースされ、アンカーとエイリアスが解決され、値が正規化されます。
差分をレビュー
変更は値、追加、削除、型、配列、ネストされた変更に分類されます。各差分は正確な位置特定のために完全なキーパスとともに報告されます。
ジャンプして編集
任意の差分をクリックすると、両方のエディター内の該当行にジャンプします。その場で編集して、YAML比較ツールを離れずに差分を解消できます。
このYAML比較ツールを使う理由
YAML構造を理解し、ブラウザ内で完全に動作し、スタイルの違いではなく実際の変更に出力をフォーカスするYAML差分チェッカーです。
セマンティックYAML差分
キーと値は行単位ではなく構造的に比較されます。クォートスタイル、インデント幅、フロースタイルとブロックスタイルの違いで誤差分は出ません。
アンカーとエイリアスの解決
YAMLアンカー(&)とエイリアス(*)はパース中に完全に解決されます。差分は完全に展開されたデータを比較するので、一箇所で変更された共有アンカーが、参照されているすべての場所に反映されます。
深いネスト比較
ネストされたマップやシーケンスを任意の深さで再帰的に比較します。各差分は spec.template.spec.containers[0].env[2].value のような完全なキーパスを報告します。
100%プライベートかつ無料
YAMLがブラウザのタブから外に出ることはありません。サーバーにアップロードするYAML差分ツールとは異なり、これは完全にクライアントサイドで動作し、KubernetesシークレットやCIパイプライン設定でも安心です。
文字レベル差分
値が変更されると、ツールはその中で異なる文字を正確にハイライトします。image tagやcommit hashのような長い文字列の1文字のタイプミスを検出するのに便利です。
即時結果
入力に合わせて差分が更新されます。比較ボタンも処理の遅延もありません。どちらかを編集するたびにYAML差分がインクリメンタルに実行されます。
このYAML差分ビューアで扱えるもの
有効なYAMLなら何でも。以下は、YAMLオンライン差分がもっとも時間を節約する場面で、特にモダンなインフラやCI/CDの作業で効果を発揮します。
KubernetesとHelm
KubernetesマニフェストとHelm valuesは、人々がYAMLファイルを比較する最も一般的な理由です。何千もの同一行をスクロールせずに、環境、名前空間、チャートバージョン間で何が変わったかを見つけられます。
- DeploymentとStatefulSetの差分
- ConfigMapとSecretの比較
- 環境ごとのHelm values.yaml
- IstioとLinkerdポリシーのレビュー
- ArgoCD Applicationマニフェスト差分
CI/CDパイプライン
GitHub Actions、GitLab CI、CircleCIなど、いずれもYAMLを使用します。パイプライン定義を差分比較して、変更の監査、リグレッションのデバッグ、フォークの調整ができます。
- GitHub Actionsワークフロー差分
- GitLab CI設定の比較
- CircleCIパイプラインの監査
- Bitbucket Pipelinesのレビュー
- Azure Pipelines YAML差分
アプリケーション設定
YAMLはRails、Spring、Django、Serverless Framework、Ansibleなど多くのツールで標準の設定フォーマットです。環境やリリース間で設定を比較できます。
- Rails database.yml差分
- Spring application.yml比較
- Ansible playbookレビュー
- Serverless Framework設定差分
- AWS CloudFormation YAML監査
よくある質問
YAML diffツールとは何ですか?
YAML diffツールは、YAMLコンパレーターやYAML差分チェッカーとも呼ばれ、2つのYAMLドキュメントを比較して何が変わったかを報告します。セマンティックYAML差分はドキュメント構造をパースし、キーパスで比較するので、クォートスタイル、インデント幅、フロースタイルとブロックスタイルのような整形の違いは変更として表示されません。
2つのYAMLファイルをオンラインで比較するには?
最初のYAMLを左のエディターに、2番目を右のエディターに貼り付けます。このYAML比較ツールは両方のドキュメントをパースし、アンカーを解決し、タイプ別に分類されたすべての実際の差分を報告します。任意の差分をクリックすれば、両方のエディター内の該当行にジャンプします。
このオンラインYAML diffツールは無料ですか?
はい。このYAML差分チェッカーは個人利用でも商用利用でも100%無料です。登録、利用クォータ、有料プラン、機能制限はありません。
YAMLデータは安全ですか?
はい。YAMLパーサー、アンカー解決、差分処理はすべてブラウザのタブ内で実行されます。マルチパートアップロードも、ファイルを含むPOSTボディも、バックグラウンド同期もありません。これはYAMLでは特に重要で、Kubernetesシークレットがこの形式で出荷されるためです。貼り付けて、DevToolsでネットワークリクエストが送出されていないことを確認してください。
このツールはYAMLアンカーとエイリアスを扱いますか?
はい。アンカー(&)とエイリアス(*)はパース中に完全に解決されます。差分は展開されたデータ構造を比較するので、一箇所でアンカーされた共有値は、アンカーが参照されているすべての場所で変更が正しく表示されます。
深くネストされたYAMLを比較できますか?
はい。YAML比較は任意の深さで再帰的に実行されます。各差分は spec.template.spec.containers[0].resources.limits.memory のような完全なキーパスを報告するので、大きなKubernetesマニフェストでも変更された正確なフィールドを特定できます。
このツールは大きなYAMLファイルを比較できますか?
はい。パースと差分処理はご自身のデバイス上で実行されるため、実用的な上限はサーバーのタイムアウトではなくブラウザのメモリです。数千行のKubernetesマニフェスト、Helm values、CloudFormationテンプレートが待ち時間なしで比較でき、変更のないセクションは折りたたんで差分にフォーカスを維持できます。
マルチドキュメントYAMLファイルをサポートしていますか?
現在、ツールはマルチドキュメントYAMLファイル(--- で区切られたドキュメント)の最初のドキュメントを比較します。複数のドキュメントがあるファイルでは、別々のファイルに分割するか、各ドキュメントを個別のセッションで比較してください。
なぜ再整形されたYAMLファイルが同一と表示されるのですか?
セマンティックYAML差分はテキストではなくデータを比較するからです。ファイルのインデントを変えたり、シングルクォートをダブルクォートに切り替えたり、フロースタイルをブロックスタイルに変換しても、基礎となるデータは変わらないので、差分は差分なしと報告します。これがYAMLレビューで単純なテキスト差分より優れる主な利点です。
このYAML比較ツールは型の変更を検出しますか?
はい。YAMLの文字列と数値は編集中に簡単に混同されます。port: 8080 は数値、port: "8080" は文字列です。ツールはこれらを値の変更とは別に型の変更としてフラグ立てするので、ランタイムエラーを起こす前にクォートのミスを検出できます。
YAMLファイルのgit diffとどう違いますか?
git diffはYAMLを行ごとに比較し、整形や並び替えをすべて変更としてフラグ立てするので、大きなマニフェストはほぼ読めなくなります。セマンティックYAML差分はドキュメント構造を理解し、実際の値の変更だけを報告するので、はるかに短くアクショナブルな差分が得られます。
YAMLファイルのオンライン比較を今すぐ開始 - 無料
上までスクロールしてYAMLを貼り付けてください。登録不要、ダウンロード不要、制限なし。