Sitecoreモジュールの追加

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

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

このトピックではSitecoreモジュール のアセットイメージ を紹介し、カスタムSitecore Docker画像を作成する際にこれらを使って追加のSitecoreモジュールを含める方法を説明します。ここで使われている例では、Sitecore PowerShell Extensions(SPE) とSitecore Experience Accelerator(SXA)モジュールをSitecore Experience Platform - Single(XP0) インスタンスに追加します。

Docker Examplesリポジトリをクローンする

まだであれば、Docker Exampleリポジトリ をマシン上のC:\sitecore\docker-examples\ (例ではこのフォルダを使用しています)にクローンしてください。例ではcustom-imagesフォルダを使用しています。

例を用意してください

カスタム画像の例は実行前に準備が必要です。まだ準備をしていない場合は、準備手順に従うか、付属のinit.ps1スクリプトを実行して自動的に準備手順を実行してください。

  • PowerShell管理者プロンプトを開き、custom-imagesフォルダに移動し、-LicenseXmlPathをSitecoreライセンスファイルの場所に置き換えて次のコマンドを実行してください。

    .\init.ps1 -LicenseXmlPath C:\License\license.xml

Sitecoreモジュールのアセットイメージを理解する

Sitecore、カスタムSitecoreイメージを作成する際にSitecoreモジュールをインストールするために必要なファイルやスクリプトを含む公式対応のモジュール アセットイメージ を提供しています。 あなたのソリューションと同様に、これらのアセットイメージはビルド中のソースとして意図されており、実行時には使用されません。

各Sitecoreモジュールごとに、各トポロジーごとに単一のアセットイメージがあります。利用可能なすべてのモジュールの一覧については、Sitecoreモジュールの参考文献 を参照してください。

xp0画像は存在しませんのでご注意ください。*Sitecore Experience Platform - Single(XP0)*インスタンスでは、xp1画像(例:sxa-xp1-assets)を使用します。

画像構成

各モジュールのアセットイメージには、以下のファイル構造のリソースが含まれています:

  • C:\module\role\content - ベースのSitecore画像をオーバーレイするコンテンツ
  • C:\module\db - モジュールで必要なデータベースの変更を含むDACPACファイル
  • C:\module\solr - モジュールに必要なSolrコアの展開に使用されるファイル
  • C:\module\tools - Dockerイメージビルドプロセス中に実行される追加のツールやスクリプト

アセットイメージをコンテナとして実行することはありませんが、インタラクティブシェルでイメージを動かせばファイルシステムを探索することは可能です。 Sitecore Dockerチートシート にその方法が説明されています。

特定のSitecoreモジュールをインストールするには、これらのリソースを使って、カスタムイメージビルドプロセス中にDockerfileの実行時に必要なDockerfile命令を追加し、ベースのSitecoreランタイムイメージにファイル、データベース、インデックス変更をデプロイします。

Sitecoreのランタイムイメージに適用

以下の例は、Sitecore PowerShell拡張(SPE)とSitecore Experience Accelerator(SXA)モジュールをSitecore Experience Platform - Single(XP0) トポロジーに追加するための構成を示しています。

Add Dockerfile instructions

各ロールごとにDockerfileの指示を追加するには:

  • Content Management (CM)の役割

    CMサービスのSitecoreランタイムDockerfileを開きます(例:C:\sitecore\docker-examples\custom-images\docker\build\cm\Dockerfile)。SPEやSXAのモジュールアセットイメージは、Docker Composeで設定されたARGsで最初に取り込まれ、その後、後で使用される名前付きのビルドステージとして開始され、spesxaされます。

    ARG SXA_IMAGE ARG SPE_IMAGE ... FROM ${SPE_IMAGE} as spe FROM ${SXA_IMAGE} as sxa

    必要なcm Dockerfile命令は、SPEとSXAの両方で、WORKDIR命令の直後に追加されます。

    COPY --from=spe \module\cm\content .\

    COPY --from=sxa \module\cm\content .\ COPY --from=sxa \module\tools \module\tools RUN C:\module\tools\Initialize-Content.ps1 -TargetPath .\; ` Remove-Item -Path C:\module -Recurse -Force;

    COPY指示が以下に調整されていることに注目してください:

    • speとsxaの実際のビルドステージをソースとして使ってください--from

    • 宛先には相対パス .\ を使いましょう。前の WORKDIR は作業ディレクトリを C:\inetpub\wwwroot

    !ヒントキャッシュを最適化するには、Dockerfileのベストプラクティスであるステップの変化が少ないから最も頻繁に変わる順に並べ、解答指示の前にモジュール命令を追加してください。

  • Microsoft SQL Server (mssql-init) 役割

    次に 、mssql-initサービス(例: C:\sitecore\docker-examples\custom-images\docker\build\mssql-init\Dockerfile)のSitecoreランタイムDockerfileを開きます。同じARGとビルドの段階を宣言し、その後、SPEとSXAの両方に必要なmssql-init Dockerfile命令を追加します。

    COPY --from=spe \module\db \spe_data

  • Apache Solr Init (solr-) role

    最後に 、solr-initサービス(例: C:\sitecore\docker-examples\custom-images\docker\build\solr-init\Dockerfile)のSitecoreランタイムDockerfileを開きます。同じARGとビルドの段階を宣言し、必要なsolr-init Dockerfile命令が追加されますが、この場合はSXAのみです。

    COPY --from=sxa C:\module\solr\cores-sxa.json C:\data\cores-sxa.json

    !注SXAモジュールは、XP1およびXM1トポロジーで使用するために*、cd* SitecoreランタイムDockerfile(例:C:\sitecore\docker-examples\custom-images\docker\build\cd\Dockerfile)にも含まれています。

Docker Composeで設定

Docker Composeでどのように設定するかを見るには:

  • custom-imagesフォルダのルートにあるdocker-compose.override.ymlファイルを開きます(例:C:\sitecore\docker-examples\custom-images\docker-compose.override.yml)。cmサービスは以下のように設定されています:

    cm: image: ${REGISTRY}${COMPOSE_PROJECT_NAME}-xp0-cm:${VERSION:-latest} build: context: ./docker/build/cm args: BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${SITECORE_VERSION} SPE_IMAGE: ${SITECORE_MODULE_REGISTRY}spe-assets:${SPE_VERSION} SXA_IMAGE: ${SITECORE_MODULE_REGISTRY}sxa-xp1-assets:${SXA_VERSION} TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION} SOLUTION_IMAGE: ${REGISTRY}${COMPOSE_PROJECT_NAME}-solution:${VERSION:-latest} ...

SPE_IMAGEとSXA_IMAGEの値は、Sitecoreモジュール参照に従って各モジュールのDockerイメージリポジトリを使用するように設定されています。xp0画像は存在しないため、SXA sxa-xp1-assetsを使用します。

特定のモジュールイメージタグまたはバージョンは、専用のSPE_VERSIONおよびSXA_VERSION変数で定義されています。これらは 環境ファイル (.env)で定義されています。

その他のサービス(mssql-initとsolr-init)も同様の構成で行われます。

Docker Examplesを実行する

Dockerの例を実行するには:

  1. PowerShellプロンプトを開き、custom-imagesフォルダ(例: C:\sitecore\docker-examples\custom-images)に移動し、Docker Compose upコマンドでDocker例を実行します:

    docker-compose up -d

  2. インスタンスが稼働したら、https://cm.dockerexamples.localhost/sitecoreにアクセスしてSitecoreにログインしてください。ユーザー名はadminで、パスワードは.envファイル(デフォルトでPassword12345init.ps1)で指定したSITECORE_ADMIN_PASSWORD値を使ってください。

  3. Sitecore PowerShell拡張(SPE)やSitecore Experience Accelerator(SXA)に詳しいなら、モジュールがインストールされていることがすぐにわかります。

    ご存じない場合は、Launchpadに追加のボタンが見られます: PowerShell ISEおよびPowerShellレポート。これらはSitecore PowerShell拡張機能(SPE)によって追加されています:

    PowerShell icons in Sitecore-
  4. コンテンツエディターを開きます。ルート コンテンツ フォルダでテ ナン ト挿入オプションを見ることができます。これらはSitecore Experience Accelerator(SXA)によって追加されました:

    Tenant insert option in the Content Editor.
  5. 終わったら、downコマンドを使って容器を停止し、取り外してください。

    docker-compose down

この記事を改善するための提案がある場合は、 お知らせください!