チュートリアル: 開始テンプレートを使用する
開始テンプレートを使用して、初めての Sitecore ヘッドレス開発エクスペリエンスで Sitecore コンテナーとレンダリング ホストをすばやく設定する方法。
Sitecore は、ASP.NET および Sitecore コンテナーを使用した Sitecore ヘッドレス開発を試したい Sitecore 開発者向けに開始テンプレートを提供します。このテンプレートを使用して、開発を始めたり、新しい顧客プロジェクトを開始したりすることができます。
テンプレートは、ソリューション アーキテクチャ向けの Sitecore Helix 規則を実装していません。Sitecore ソリューションの構築を始める際は、Sitecore Helix および Sitecore Helix の例で、モジュラー ソリューション アーキテクチャの実装に関するガイダンスを確認することをお勧めします。
テンプレートには次のものが含まれます。
ASP.NET レンダリング ホストを使用した Sitecore XP0 トポロジの Docker 環境。
注記
これに含まれている
docker-compose.yml
ファイルは、Sitecore コンテナー サポート パッケージからの XP0 環境のテンプレートです。このソリューションのすべての変更は、docker-compose.override.yml
ファイルに含まれます。1 ページのサンプル サイト用のシリアル化されたアイテム。詳細については、
src\Items.module.config
ファイルを参照してください。Sitecore Content Management ロールに設定とコードをデプロイするための
Platform
と名前が付けられた MSBuild プロジェクト。詳細については、src\platform
フォルダーを参照してください。ASP.NET レンダリング ホスト用の
RenderingHost
と名前が付けられた MSBuild プロジェクト。詳細については、src\rendering
フォルダーを参照してください。
開始テンプレートからソリューションを作成するには、次の手順を実行する必要があります。
前提条件のインストール
テンプレートをインストールしてソリューションを作成する前に、次のソフトウェア コンポーネントがワークステーションにインストールされていることを確認する必要があります。
.NET Core 3.1 SDK (インストールされているバージョンを
dotnet --version
コマンドで確認する).NET Framework 4.8 SDK (Microsoft のインストールされている .NET Framework バージョンを確認するを参照)
Docker for Windows (Windows コンテナーが有効な場合)
PowerShell 5.1 (PowerShell 7 はサポート対象外)
システム要件の詳細については、Sitecore コンテナーのドキュメントを参照してください。
テンプレートのインストール
テンプレートをダウンロードして、ファイル システムにインストールします。その後、テンプレートに基づいてソリューションを作成できます。
テンプレートをインストールするには:
管理者権限で PowerShell を開きます。
次のコマンドを実行します。
dotnet new -i Sitecore.DevEx.Templates --nuget-source https://sitecore.myget.org/F/sc-packages/api/v3/index.json
dotnet
ツールは、インストールが成功したことを示す明らかなフィードバックを表示しません。ただし、インストール コマンドは、インストールされたすべてのテンプレートを一覧表示して終了します。インストールが成功した場合、一覧には sitecore.aspnet.gettingstarted
が含まれます。
MyProject ソリューションの作成
ソリューションには任意の名前を付けることができますが、この例ではソリューションに MyProject
と名前を付けます。
MyProject
ソリューションを作成するには:
管理者権限で PowerShell を開きます。
ポート 443 でインターネット インフォメーション サーバーが実行されているかどうかを確認します。
Get-Process -Id (Get-NetTCPConnection -LocalPort 443).OwningProcess
実行されている場合、サーバーを停止する必要があります。
iisreset /stop
Apache Solr またはその他のサービスがポート 8984 で実行されているかどうかを確認します。
Get-Process -Id (Get-NetTCPConnection -LocalPort 8984).OwningProcess
実行されている場合、それらを停止する必要があります。
Stop-Service -Name "<the name of your service>"
Non-Sucking Service Manager で開始した場合は、次のコマンドを使用して停止します。
nssm stop "<the name of your service>"
ソリューション フォルダーに移動し、
MyProject
ソリューションとプロジェクトを作成します。dotnet new sitecore.aspnet.gettingstarted -n MyProject
MyProject/
フォルダーに移動します。提供された
init.ps1
スクリプトを使用して、Sitecore コンテナー環境用に次のアイテムを準備します。*.myproject.localhost
用の valid/trusted ワイルドカード証明書。myproject.localhost
用の hosts ファイル エントリ。Sitecore インスタンス用の
.env
ファイルで必要な環境変数の値。
重要
プロジェクト名またはフォルダー名にラテン文字以外の文字を使用すると、Docker レジストリ名と URL の文字制限により、予期しない結果が生じる可能性があります。
これらの準備手順の詳細については、Sitecore コンテナーのドキュメントを参照してください。
Sitecore コンテナー環境を準備するには、次のようなコードを使用します。
.\init.ps1 -InitEnv -LicenseXmlPath "<path to your license.xml file>" -AdminPassword "<your Sitecore administrator password>"
この例には、
.gitignore
ファイル内の.env
ファイルへの参照が含まれていません。これは、開発者が初期化された環境変数を共有できるようにするためです。.env
ファイルをソース管理にチェックインすると、他の開発者は、init.ps1
スクリプトを実行するだけで証明書や hosts ファイルを準備できます。Sitecore ソリューション自体またはそのデータが機密である場合、
.env
ファイルをソース管理から除外し、一元化された設定情報を保管するための別の方法を検討してください。Sitecore Docker イメージをダウンロードし、コンテナーをインストールします。
.\up.ps1
テンプレートは、Windows
hosts
ファイルに次のエントリを作成します。各エントリは、Sitecore コンテナーを指します。https://id.myproject.localhost/
は Sitecore Identity Server をホストする Sitecore インスタンスを含むmyproject_id_1
コンテナーを指します。https://cm.myproject.localhost/
は、Content Management、Content Delivery、および Sitecore レイアウト サービスをホストする Sitecore インスタンスを含むmyproject_cm_1
コンテナーを指します。https://www.myproject.localhost/
は、レンダリング ホストを含むmyproject_rendering_1
コンテナーを指します。
スクリプトが Sitecore Identity Server をブラウザー タブで開くまで待ち、ログインしてデバイス認証を受け入れます。
スクリプトが Content Management とレンダリング ホストをブラウザー タブで開くまで待ちます。