カスタムCommerceコンテナ画像作成のワークフロー
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
機能やVisual Studioで正常に実行可能な完全なソリューションの開発が終わったら、新しいコマースソリューションのコンテナイメージを作成してデプロイできます。
!注このワークフロー は、すでに 開発者ワークステーションでSitecore.Commerce.Container.SDK.ZIPパッケージをダウンロードし解凍していることを前提としています。
Sitecore Commerce Container SDKの内容や提供されるスクリプトファイルに慣れておくことを必ず確認してください。
進む前に:
- カスタムXCコンテナを構築するには、必ずバージョン1.27.4(またはそれ以前)Docker Composeを使用してください。Docker Composeのバージョンを確認するには、 docker-compose --version コマンドを実行することができます。
- Dockerコンテナのトポロジーフォルダーはすべて Sitecore Commerce Containers SDK フォルダ内に保持してください。トポロジーフォルダはカスタムコンテナを成功裏に構築するために必要なリソースを共有します。
自分だけのSitecore XCコンテナ画像を作成するには:
- WDPマッピングファイルを更新してください
- カスタム画像タグを設定に追加してください
- カスタマイズをSitecore Commerce Container SDKに追加してください
- 環境変数を画像タグの値で更新してください
- コンテナ画像のコンテンツを入手
- コンテナイメージを構築しましょう
WDPマッピングファイルを更新してください
WDPMapping.jsonファイルには、Sitecore Experience Commerce(XC)リリースパッケージのアーティファクトをdocker-compose buildが処理するための正しい位置に配置するためのマッピング情報が含まれています。
!注自社のCommerce EngineソリューションでXCコンテナを作成する際は、Sitecore XCリリースパッケージの一部であるデフォルトのサンプルCommerce Engine WDP(Sitecore.Commerce.Engine.OnPrem.Solr)への参照を削除しなければなりません。
カスタマイズした領域に対応するWDPへの参照は、デフォルトのリリースパッケージで上書きされないように削除してください。例えば、Commerce Business Toolsをカスタマイズした場合、WDPMapping.jsonファイルからSitecore.BizFx.OnPremブロックを削除する必要があります。
更新するために WDPMappings.json
-
Sitecore.Commerce.Container.SDK.*.*.***/scripts/WDPMapping.jsonを開けろ。
-
サンプルのCommerce Engine WDPを削除してください:
{ "WDPs": "Sitecore.Commerce.Engine.OnPrem.Solr" , "DestinationFolder": "xc-common/engine/wdp", "ToCopyFolder": "Content/Website" }
-
XC Business Toolsをカスタマイズしている場合は、Sitecore.BizFx.OnPremパッケージへのマッピングを含む以下のセクションも削除してください。
{ "WDPs": "Sitecore.BizFx.OnPrem" , "DestinationFolder": "xc-common/bizfx/wdp", "ToCopyFolder": "Content/Website"
}
カスタム画像タグを設定に追加してください
デフォルトでは、Commerceコンテナのビルドプロセスでは最新のタグが付いた画像を使用します。特定の画像をコンテナに入れたい場合は、使いたい画像のバージョンに対応するタグで設定を更新する必要があります。
変更する設定ファイルは、Windows OSタグのバージョンによって異なります。コンテナをホストしているWindows OSのバージョンに対応するJSONファイルを修正してください。つまり、config2019.jsonconfigltsc2019.json
カスタム画像タグを設定に追加するには:
- ホスト上で動作しているOSに基づいて適切なJSONファイル、すなわち config2019.json または configltsc2019.jsonを開きます。
- "customercommercetag"の値を適切なタグ値に置き換えます。
カスタマイズをSitecore Commerce Container SDKに追加してください
Commerce Engineのカスタマイズをコンテナ化するには、カスタムコードやバイナリを適切なSitecore.Commerce.Container.SDKフォルダに追加する必要があります。カスタムアーティファクトを追加するSDKフォルダ構造の位置は、カスタマイズが影響するソリューションの範囲によって異なります。
-
Commerce Engineのカスタマイズアーティファクトを以下のフォルダに追加してください: xc-common/engine/wdp/
!注wdpフォルダを作成する必要があります。
-
Business Toolsのカスタマイズ機能もフォルダに追加してください: xc-common/engine/bizfx/wdp
!注WDPフォルダを作成しなければなりません。
-
Content Delivery(CD)またはContent Management (CM)の役割に影響を与えるカスタムアーティファクトを次の場所に追加します:
-
このフォルダにCMカスタマイズを追加してください: xc0/cm/content/website
-
このフォルダにCDカスタマイズを追加してください: xc1/cd/content/website
!注カスタムファイルをxc0/*/content/websiteフォルダに追加する際は、CDやCMインスタンスのルートフォルダと同じフォルダ構造を再現しなければなりません。 "xc0/*/content/website" フォルダはinetpub/wwwroot/
フォルダに相当します。 例えば、新しいバイナリファイルを含むCDカスタマイズがある場合、content/website/フォルダのルートに新しいバイナリを入れたbinフォルダを作成します(例
/cd/content/website/bin)、、CDのルートフォルダの構造(inetpub/wwwroot/SXAstorefront/bin)。 -
環境変数を画像タグの値で更新してください
UpdateEnvTag.ps1タグを使って、config2019.jsonやconfigltsc2019.jsonファイルの新しい画像タグ値で.envファイルを更新します。
環境変数を新しいタグ値で更新するには:
-
PowerShellウィンドウを開き、次のコマンドを実行してください:
UpdateEnvTag.ps1 -jsonFile 'C:\sitecore-commerce\scripts\configltsc2019.json' ` -envRootPath 'C:\sitecore-commerce'
コンテナ画像のコンテンツを入手
PrepContainerbuild.ps1スクリプトを使って、マシン上のSitecore Experience Commerceリリースパッケージの場所からアーティファクトを取り出し、Sitecore.Commerce.Container.SDKディレクトリ構造に展開します。PrepContainerbuild.ps1はWDPMapping.jsonであらかじめ定義された場所にパッケージをコピーします。
画像の内容を得るには:
-
以下のSitecore Experience CommerceリリースパッケージはSitecore Downloadsサイトからダウンロードできます。
-
Packages for On Premise WDP ****.**.**-*.*.***
-
Packages for Azure App Service ****.**.**-*.*.***.
!注コンテナビルドの準備に使われるPrepContainerbuild.ps1スクリプトには、これらのリリースパッケージ内のWDPへの参照が含まれています。
-
-
コンテナイメージを取得するには、PowerShellウィンドウを開き、次のコマンドを実行します。
PrepContainerbuild.ps1 -jsonFile 'C:\sitecore-commerce\scripts' -releaseZipPath 'C:\downloads'
コンテナイメージを構築しましょう
コンテナイメージを作成するには:
-
PowerShellウィンドウを開き、次のコマンドを実行してください:
ContainerBuild.ps1 -envRootPath 'C:\sitecore-commerce'
-
すべてのDockerイメージをリストアップして画像が作成されたことを確認します:
docker images