1. Sitecore Command Line Interface参照

CLIのシリアライゼーションコマンド

日本語翻訳に関する免責事項

このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。

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, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-?, -h, --help

いいえ

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

以下は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, --path <path>

はい

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

-d, --database <database>

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-?, -h, --help

いいえ

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

以下は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 <environment-name>

いいえ

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

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-w, --what-if

いいえ

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

注記

-- what-ifオプションの詳細については、ビデオSitecore CLIと「もしも」フラグをご覧ください。

-s, --skip-validation

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-fr, --force

いいえ

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

--use-debug-signatures

いいえ

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

-?, -h, --help

いいえ

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

以下は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 <environment-name>

いいえ

使用予定のSitecore環境。デフォルト: 'default'

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-w, --what-if

いいえ

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

-s, --skip-validation

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-fr, --force

いいえ

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

--use-debug-signatures

いいえ

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

-p, --publish

いいえ

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

--pt, --targets <targets>

いいえ

公開対象データベースの一覧。ブランクはwebデータベースに公開されます。

-?, -h, --help

いいえ

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

以下は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サブコマンドで以下のオプションを使用できます:

オプション

必須。

概要

-s, --source <source>

はい

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

-d, --destination <destination>

はい

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

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-p, --path <path>

いいえ

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

--source-database <source-database>

いいえ

ソースデータベース( --pathと併用する場合)。

--destination-database <destination-database>

いいえ

宛先データベース( --pathと併用した場合)。

--push

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-?, -h, --help

いいえ

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

以下は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を複製してください。

  • 非ユニークパス。

注記

詳細は 「シリアル化されたコンテンツの検証」をご覧ください。

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

オプション

必須。

概要

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-f, --fix

いいえ

シリアライズされたアイテムの検証時に可能な修正操作を実行します。

大事な

--fix (-f)オプションを使うとローカルファイルを削除できます。

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-?, -h, --help

いいえ

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

以下は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 <environment-name>

いいえ

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

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-s, --skip-pull

いいえ

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

--allow-file-changes

いいえ

ファイルが変わったら引き続き見てください。

大事な

このオプションを使用すると、基盤となる状態が変更されると木の破損が発生する可能性があります。

このオプションは、他のプログラムがシリアライズされたファイルに触れた場合にのみ使用してください。

-fr, --force

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-?, -h, --help

いいえ

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

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

dotnet sitecore ser watch

出力:

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

パッケージサブコマンド

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

副司令部

概要

create

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

install

既存のアイテムパッケージをSitecoreにインストールしてください。

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

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

-?, -h, --help

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

package create subcommand

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

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

オプション

必須。

概要

-o, --output <output>

はい

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

--overwrite

いいえ

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

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-?, -h, --help

いいえ

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

以下は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, --package <package>

はい

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

--auth, --authority <authority>

いいえ

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

--cm <cm>

いいえ

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

--client-id <client-id>

いいえ

送信するOAuth ClientIDです。デバイス認証はデフォルトで 'Device' 、クライアント認証は 'SitecoreCLIServer' にしています。

--client-secret <client-secret>

いいえ

送信するOAuth ClientIDです。デバイス認証はデフォルトで 'Device' 、クライアント認証は 'SitecoreCLIServer' にしています。

-n, --environment-name <environment-name>

いいえ

使用予定のSitecore環境。デフォルト: 'default'

-w, --what-if

いいえ

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

-i, --include <include>

いいえ

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

-e, --exclude <exclude>

いいえ

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

-c, --config <config>

いいえ

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

-v, --verbose

いいえ

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

-t, --trace

いいえ

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

-p, --publish

いいえ

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

パフォーマンスの懸念から、Publishing Serviceではこのオプションの使用を避けることをお勧めします。

-?, -h, --help

いいえ

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

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

dotnet sitecore ser pkg install -f <file-path>
この記事を改善するための提案がある場合は、 お知らせください!