---
title: "CLIのシリアライゼーションコマンド"
slug: "the-cli-serialization-command"
abstract: "項目をシリアライズするSitecore CLIのシリアライズコマンドの参考文献です。"
---
# CLIのシリアライゼーションコマンド

Sitecoreシリアライゼーションプラグインは、短縮形serを含むserializationコマンドを提供します。

このコマンドはアイテムのシリアライズを処理します。

シリアライゼーションプラグインをインストールするには、以下のコードを実行します:

dotnet sitecore plugin add -n Sitecore.DevEx.Extensibility.Serialization

## 使用例

コマンドの使い方は以下の通りです:

dotnet sitecore serialization subcommand options

または、以下の略称を使うこともできます:

dotnet sitecore ser subcommand options

## サブコマンド

以下のサブコマンドを使用できます:

-   info - シリアライズ設定情報を表示します。
-   explain - コンテンツ項目パスが含まれているかどうか、その理由を説明する。
-   pull - Sitecoreインスタンスからファイルシステムへのコンテンツ項目のシリアライズ。
-   push - ファイルシステムからSitecoreインスタンスへシリアライズされたコンテンツ項目をプッシュします。
-   diff - 2つのSitecoreインスタンスのコンテンツ項目を比較します。
-   validate - シリアル化されたコンテンツ項目の有効性を確認します。 \--fix の議論によくある問題を解決できます。
-   watch - Sitecoreインスタンス内のコンテンツ項目の変更を監視し、その変更を自動的にファイルシステムにシリアライズします。
-   package - シリアル化されたアイテムの動作するパッケージに追加コマンドを提供します。
-   package create - シリアル化されたアイテムのパッケージを作成すること。
-   package install - Sitecoreインスタンスにシリアル化されたアイテムのパッケージをインストールすること。

### 情報サブコマンド

infoコマンドは、コンテンツシリアライズに関連するソリューションの設定や設定に関する情報を提供します。

コマンドで返される情報には、すべてのシリアライゼーションモジュール構成のリストが含まれます。すべてのシリアライゼーションモジュール構成に対して、情報には以下が含まれます:

-   モジュール名。
-   モジュールの説明。
-   名前とパスを持つアイテムサブツリー。

infoサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はinfoサブコマンドの使用例です:

dotnet sitecore ser info

\\> sitecore ser info

Maximum subtree-relative item path allowed: 100

Feature.BasicContent
 Subtrees:
 templates: /sitecore/templates/Feature/BasicContent
 renderings: /sitecore/layout/Renderings/Feature/BasicContent
 buttons: core:/sitecore/content/Applications/WebEdit/Custom Experience Buttons/BasicContent
 FieldsFilter Excludes: 0
 Roles: 0

# ...

Project.DemoContent
An example of separating content into a separate module, so it can be excluded from deploy.
 Subtrees:
 content: /sitecore/content/Basic Company
 media: /sitecore/media library/Basic Company
 FieldsFilter Excludes: 1
 Roles: 0

Excluded Fields From Default Serialization Config:
 FieldsFilter Excludes: 1

### explainサブコマンド

explainを使って、特定のSitecoreアイテムパスやオプションのデータベースに関する詳細なシリアライズ関連情報を提供できます。

サブコマンドは以下の内容を提供します。

-   アイテムパスはすべてのシリアライズモジュールの範囲内にあります。
-   関連された項目パスに対して許容された操作。
-   シリアライズへのパス Module.json 指定されたパスに設定されます。

explainサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-p, --パス

はい

アイテムパスについて説明してください。

\-d, --データベース

いいえ

説明するためのアイテムパスのデータベース。デフォルト:マスター。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データや性能データを書きましょう。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はexplainサブコマンドの使用例です。

-   モジュール構成に含まれていないパスを説明してください:
    
    dotnet sitecore ser explain --path "NOT\_INCLUDED\_PATH"
    
    出力:
    
    Path master:NOT\_INCLUDED\_PATH is not included in any module configuration.
    
-   モジュール構成に含まれる経路を説明してください:
    
    dotnet sitecore ser explain --path "INCLUDED\_PATH"
    
    出力:
    
    MODULE\_NAME INCLUDED\_PATH Item path matches subtree scope ItemAndDescendants.
    MODULE\_NAME INCLUDED\_PATH Subtree set allowed push operations CreateUpdateAndDelete
    MODULE\_NAME INCLUDED\_PATH Path master:INCLUDED\_PATH is included!
    Physical path:PATH\_TO\_YAML\_FILE
    

### pullサブコマンド

pullサブコマンドはSitecoreからアイテムを取り出し、シリアライズし、特定のファイルシステムパス上の.ymlファイルとして保存します。サブコマンドはModule.jsonファイルを用いて、シリアライズプロセスに含まれる項目を判定します。プル操作中、シリアライゼーションエンジンはディスク上の既存のシリアライズアイテムを評価し、ソースSitecoreインスタンス内の同じアイテムを詳細に比較します。

このコマンドには権限が上乗せされます。

pullサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-n, --environment-name

いいえ

使用予定のSitecore環境。デフォルト:「デフォルト」;

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-w、--もしも

いいえ

実行せずに操作に関わるコマンドをリストアップしてください。注:動画の「Sitecore CLI」と「what-if」フラグについては、what-ifオプションの詳細をご覧ください。

\-s, --スキップ検証

いいえ

同期前にファイルシステムの整合性検証を省略してください。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-fr, --force

いいえ

エラーの代わりに警告を表示する。警告の原因となるアイテムはスキップして、シリアル化を続けてください。

\--use-debug-signatures

いいえ

ハッシュミスマッチを診断するためにデバッグ(ハッシュされていない)アイテムシグネチャを使いましょう。ずっと遅い。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はpullサブコマンドの使用例です。

-   構成からすべてのサイトコアアイテムをシリアライズします:
    
    dotnet sitecore ser pull
    
-   ModuleAおよびModuleB構成からすべてのSitecoreアイテムをシリアライズします:
    
    dotnet sitecore ser pull -i ModuleA ModuleB
    
-   tagAおよびtagB構成としてタグ付けされたモジュールから、すべてのSitecoreアイテムをシリアライズします:
    
    dotnet sitecore ser pull -i tags:tagA,tagB
    
-   tagA、tagB、ModuleA構成としてタグ付けされたモジュールのすべてのアイテムをシリアライズします:
    
    dotnet sitecore ser pull -i tags:tagA,tagB ModuleA
    

### プッシュサブコマンド

pushコマンドは、ディスク上の.ymlファイルとしてシリアライズされたアイテムを受け取り、インスタンスの宛先にプッシュSitecoreします。プッシュ操作は、シリアライズModule.jsonファイルを用いてシリアライズプロセスに含まれる項目を決定します。プッシュ操作中、シリアライゼーションエンジンはファイルシステム上の既存のシリアライズされたアイテムを評価し、ソースSitecoreインスタンス内の同じアイテムを詳細に比較します。

このコマンドには権限が上乗せされます。

pushサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-n, --environment-name

いいえ

使用予定のSitecore環境。デフォルト:「デフォルト」。

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-w、--もしも

いいえ

実行せずに操作に関わるコマンドをリストアップしてください。

\-s, --スキップ検証

いいえ

同期前にファイルシステムの整合性検証をスキップしてください。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-fr, --force

いいえ

エラーの代わりに警告を表示する。警告の原因となるアイテムはスキップして、シリアル化を続けてください。

\--use-debug-signatures

いいえ

ハッシュミスマッチを診断するためにデバッグ(ハッシュされていない)アイテムシグネチャを使いましょう。ずっと遅い。

\-p, --公開

いいえ

同期されたアイテムを公開する。

\--pt, --ターゲット

いいえ

公開対象データベースの一覧。Blankはウェブデータベースに公開されます。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はpushサブコマンドの使用例です。

-   すべてのSitecoreアイテムを設定からSitecoreインスタンスにプッシュします:
    
    dotnet sitecore ser push
    
-   ModuleAおよびModuleB構成からすべてのSitecoreアイテムをSitecoreインスタンスにプッシュします:
    
    dotnet sitecore ser push -i ModuleA ModuleB
    
-   tagAおよびtagB構成のモジュールからすべてのSitecoreアイテムをSitecoreインスタンスにプッシュします:
    
    dotnet sitecore ser push -i tags:tagA,tagB
    
-   tagA、tagB、ModuleA構成のモジュールからSitecoreのすべてのアイテムをSitecoreインスタンスにプッシュします:
    
    dotnet sitecore ser push -i tags:tagA,tagB ModuleA
    

### diffサブコマンド

diffサブコマンドは、ソースSitecoreインスタンスと宛先Sitecoreインスタンス間のシリアライズ項目を比較します。この操作は、比較プロセスに含まれる項目を決定するために**Module.json**ファイルのシリアライズを使用します。diffコマンド中、シリアライゼーションエンジンは送信元のSitecoreインスタンスと宛先Sitecoreインスタンスのパスやアイテムを詳細に比較します。

このコマンドは、ソース環境とターゲット環境の両方で権限を昇格させる必要があります。

diffサブコマンドを使うには、クライアント認証情報を使って送信元環境と転送先環境の両方に[ログイン](https://doc.sitecore.com/sai/ja/developers/sitecoreai/sitecore-command-line-interface/sitecore-cli-command-reference/the-cli-login-command.html "The CLI login command")し、それぞれの環境ごとにアクセストークンを生成します。両方の環境にログインしなければ、コマンドを実行するとアクセストークンのミスエラーが発生します。

各環境にログインすると、以下のコマンドを使って .sitecore/user.jsonファイル内の必要なアクセストークンを自動的に生成できます:

dotnet sitecore login \\
 --authority https://auth.sitecorecloud.io/ \\
 --cm https://<ENVIRONMENT\_HOST\_NAME> \\
 --audience https://api.sitecorecloud.io \\
 --client-credentials true \\
 --client-id <ENVIRONMENT\_CLIENT\_ID> \\
 --client-secret <ENVIRONMENT\_CLIENT\_SECRET> \\
 --allow-write true \\
 -n "<ENVIRONMENT\_NAME>"

デプロイアプリ内の環境名とホスト名を実際の環境値に置き換え、クライアントIDとクライアントシークレットを実際の [クライアント認証情報](https://doc.sitecore.com/sai/ja/developers/sitecoreai/deploying-sitecoreai/deploy-app/managing-sitecoreai-client-credentials.html "Managing SitecoreAI client credentials")に置き換えます。

diffサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-s, --ソース 

はい

比較用のソースとして使うための名前付きSitecoreエンドポイント。

\-d, --目的地

はい

比較用の宛先として名前付きのSitecoreエンドポイントを用意しました。

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-p, --パス

いいえ

比較する項目経路(含める・除外するのではなく)。

\--ソース-データベース

いいえ

ソースデータベース(--pathで使用した場合)。

\--宛先データベース

いいえ

宛先データベース(--pathと組み合わせて使用する場合)。

――押せ

いいえ

検出した違いを宛先に適用します。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はdiffサブコマンドの使用例です:

dotnet sitecore ser diff -s SOURCE -d DESTINATION

出力:

DBNAME Discovered CHANGES\_COUNT changes after evaluating ITEMS\_COUNT total items.

### validateサブコマンド

validateサブコマンドは、シリアル化されたアイテムやパスのファイルシステムの整合性を保証します。さらに、\--fix (-f)引数オプションフラグを使用することで、コマンドは特定された問題の自動訂正を試みることができます。このサブコマンドは、シリアライズModule.jsonファイルのファイルシステム上で構成されたすべてのシリアライズパスおよびサブツリーを評価し、ファイルシステムに対して以下のチェックを行います。

-   物理的な経路が無効です。
-   孤児の親のID。
-   含まれていないアイテム。
-   空のフォルダ。
-   アイテムIDを複製してください。
-   非ユニークパス。

> !注詳細は [「シリアル化されたコンテンツの検証](https://doc.sitecore.com/sai/ja/developers/sitecoreai/sitecore-command-line-interface/plugins/serialization-plugin/validate-serialized-content-items.html "Validate serialized content items")」をご覧ください。

validateサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-f, --修正

いいえ

シリアライズされたアイテムの検証時に可能な修正操作を実行します。重要 --fix(-f)オプションを使うことでローカルファイルを削除できます。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はvalidateサブコマンドの使用例です。

-   読み取り専用検証:
    
    dotnet sitecore ser validate
    
    出力:
    
    Read-only validation is active. No fixes will be made.
    No errors were detected.
    
-   変身と修正:
    
    dotnet sitecore ser validate --fix
    
    出力:
    
    DUPLICATE ID: 5c069416-660c-4028-b5c8-c9f3ce3cb277 found in ...
    D ~\\FILE\_DUPLICATE.yml
    ...
    No errors were detected.
    

### ウォッチサブコマンド

watchサブコマンドはSitecoreインスタンス内のコンテンツ項目の変更を監視し、その変更を自動的にファイルシステムにシリアライズします。

このコマンドには権限が上乗せされます。

watchサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-n, --environment-name

いいえ

使用予定のSitecore環境。デフォルト:「デフォルト」;

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-s, --スキッププル

いいえ

ウォッチャーを起動する前にSitecoreからデータを取得するのは省略してください。

\--ファイル変更を許す

いいえ

ファイルが変わったら引き続き見てください。重要 このオプションを使用すると、基となる状態が変更されると木の破損が発生する可能性があります。このオプションは、他のプログラムがシリアライズされたファイルに触れた場合にのみ使用してください。

\-fr, --force

いいえ

エラーの代わりに警告を表示する。警告の原因となるアイテムはスキップして、シリアル化を続けてください。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はwatchサブコマンドの使用例です:

dotnet sitecore ser watch

出力:

Watcher is online! Changes made to serialized items will be automatically pulled.

### パッケージサブコマンド

packageサブコマンド(略称pkg)は、パッケージ固有の操作のための追加のサブコマンドを提供します。以下のように:

副司令部

概要

作成

新しいシリアル化されたアイテムパッケージを作成します。

インストール

既存のアイテムパッケージをSitecoreにインストールしてください。このコマンドには権限が上乗せされます。

packageサブコマンドで以下のオプションを使用できます:

\-?, -、助けて

開発者のヘルプやコマンドの使用情報を表示します。

### package create subcommand

package createサブコマンドは新しいシリアル化されたアイテムパッケージを作成します。

package createサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-o, --出力

はい

作成後にパッケージを配置するためのパス。延長を提示しなければ、その延長が自動的に追加されます。

\--上書き

いいえ

既存のパッケージを上書きすることを許可します。

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。バージョン4.1.0以降からは、シリアル化モジュールで指定されたロールもシリアライズされています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下はpackage createサブコマンドの使用例です。

-   指定されたファイルパスでパッケージを作成します:
    
    dotnet sitecore ser pkg create -o <file-path>
    
-   役割を持つモジュールのシリアライズ:
    
    {
     "namespace": "Feature.Products",
     "roles": 
     {
     "domain": "DevEx",
     "pattern": "Product"
     }
     
    }
    
    dotnet sitecore ser info --include Feature.Products -v
    
    出力:
    
    role A Role DevEx\\Product Admin is created successfully.
    role A Role DevEx\\Product Merchandiser is created successfully.
    roles Synced 2 roles completed.
    

### パッケージのinstallサブコマンド

package installサブコマンドは既存のアイテムパッケージをSitecoreにインストールします。

このコマンドには権限が上乗せされます。

package installサブコマンドで以下のオプションを使用できます:

オプション

必須ですか?

概要

\-f, --パッケージ

はい

インストールするパッケージへのパス。

\--auth, --authority

いいえ

環境の識別権限(アイデンティティサーバーやAADテナントURLなど)。

\--cm

いいえ

接続先はSitecoreコンテンツ管理ホスト名です。

\--クライアントID

いいえ

送信するOAuth ClientIDです。デバイス認証はデフォルトで「Device」、クライアント認証は「SitecoreCLIServer」です。

\--クライアントの秘密

いいえ

送信するOAuth ClientIDです。デバイス認証はデフォルトで「Device」、クライアント認証は「SitecoreCLIServer」です。

\-n, --environment-name

いいえ

使用予定のSitecore環境。デフォルト:「デフォルト」。

\-w、--もしも

いいえ

実行せずに操作に関わるコマンドをリストアップしてください。

\-i, --含む

いいえ

含まれるモジュール構成を指定してください。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-e, --除外

いいえ

モジュール構成を明示的に除外するものを指定します。モジュール名やタグのサポート。ワイルドカードや複数の値を許容しています。

\-c, --config

いいえ

rootのsitecore.configディレクトリへのパス。デフォルト:現在の作業ディレクトリ。

\-v, --冗長

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-t、--trace

いいえ

追加の診断データやパフォーマンスデータを書き込むこと。

\-p, --公開

いいえ

同期されたアイテムを公開する。パフォーマンスの懸念から、Publishing Serviceではこのオプションの使用を避けることをお勧めします。

\-?, -、助けて

いいえ

開発者のヘルプやコマンドの使用情報を表示します。

以下は、package installサブコマンドを使ってファイルパスを使ってSitecoreインスタンスにパッケージをインストールする例です。

dotnet sitecore ser pkg install -f <file-path>