攻略
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
Sitecore Experience Accelerator (SXA)は、ウェブサイトの制作を迅速化し、さまざまなサイトでコンポーネント、レイアウト、テンプレートを再利用するために開発されたSitecoreモジュールです。SXAモジュールを追加するには、特定のDockerイメージを作成し、Azureコンテナレジストリ(ACR)にプッシュし、SearchStax SolrおよびMssqlコンテナを実行する前にアプリケーションリポジトリで変更する必要があります。
このウォークスルーでは、以下の方法を説明します:
- Dockerイメージを準備してください
- 画像をACRにプッシュしてください
- アプリケーションリポジトリ内のイメージを変更する
- Searchstax-solr-init-sxa-spe-containerを実行します:
- 災害復旧なしで。
- 災害復旧で。
- Mssql-init-sxa-speコンテナを実行します:
- 災害復旧なしで。
- 災害復旧で。
Dockerイメージを準備してください
カスタムSXAモジュールの作成方法については、「 Add Sitecore modules 」トピックを参照してください。
SXAで作業するには、以下の画像を作成する必要があります:
-
cm-sxa-spe
-
cd-sxa-spe
-
Mssql-init-sxa-spe
-
Searchstax-solr-init-sxa-spe
!注sxaのsolr-init画像を作成する際は、ベース画像がSearchstaxで使用できるように設計されていることを確認してください。Sitecore画像リポジトリでは、これらの画像には -searchstaxで終わるタグが付いています。例えば、sitecore-xp1-solr-init-searchstax。
画像をAzureコンテナレジストリにプッシュしてください
画像をACRにプッシュするには:
- PowerShellで docker pushコマンドを実行します。すべてのイメージを事前にプロビジョニングされたACRにプッシュする必要があります: {infrastructure_id}acr
アプリケーションリポジトリ内のイメージを変更する
これでSXA固有の命名と2つの新しいプロパティをアプリケーションリポジトリに追加できます。
アプリケーションリポジトリ内のイメージを変更するには:
- アプリケーションリポジトリ *config/docker-images* に移動し、以下のように docker-images.json を編集してください:
-
cm画像をcm-sxa-speに置き換えます。
-
cd画像をcd-sxa-speに置き換えます。
-
Mssql-init-sxa-speプロパティを加えます。
-
Searchstax-solr-init-sxa-speプロパティを加えます。

-
Searchstax-solr-init-sxa-speコンテナを災害復旧なしで実行してください
Searchstax-solr-init-sxa-speコンテナを実行するには:
-
*roles\sitecore-{topology}\templates\*に移動し、Searchstax-solr-init-sxa-speジョブファイルを「searchstax-solr-init-sxa-spe.yaml」という名前で追加してください。例えば:
apiVersion: batch/v1 kind: Job metadata: name: searchstax-solr-init-sxa-spe spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:
- name: sitecore-docker-registry initContainers:
- name: wait-solr image: "{{ docker_images.external.windowsservercore }}" command: "pwsh" args: "-Command", "do { Start-Sleep -Seconds 3 } until ((tnc $env -port $env).TcpTestSucceeded)" env:
- name: SERVER value: "{{ solr_fqdn }}"
- name: PORT value: "{{ solr_port }}" containers:
- name: solr-init image: "{{ docker_images.sitecore.solr_init_sxa_spe }}" env:
- name: SEARCH_STAX_APIKEY valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-apikey.txt
- name: SEARCH_STAX_ACCOUNT_NAME valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-account-name.txt
- name: SEARCH_STAX_DEPLOYMENT_UID valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-deployment-uid.txt
- name: SITECORE_SOLR_CONNECTION_STRING valueFrom: secretKeyRef: name: sitecore-solr key: sitecore-solr-connection-string.txt
- name: SOLR_CORE_PREFIX_NAME value: sitecore
- name: SOLR_COLLECTIONS_TO_DEPLOY value: sxa restartPolicy: Never backoffLimit: 5
-
Searchstax-solr-init-sxa-speジョブを実行するAnsibleタスクを追加するには、*roles\sitecore-{topology}\tasks\init.yaml*に移動し、ファイルの最後に以下のスクリプトを追加してください。
-
name: Execute sxa-spe solr-init job k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'searchstax-solr-init-sxa-spe.yaml') }}"
-
name: 'Wait - SXA-SPE Solr-init job' k8s_info: kind: Job name: searchstax-solr-init-sxa-spe namespace: "{{ solution_id }}" register: sxa_spe_solr_init_result until: (sxa_spe_solr_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60
-
name: Get all SXA-SPE Solr completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:
-
job-name = searchstax-solr-init-sxa-spe no_log: true register: solr_sxa_spe_pod_list
-
name: Remove SXA-SPE Solr job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ solr_sxa_spe_pod_list.resources }}"
-
-
アプリケーションパイプラインを実行してください。
Searchstax-solr-init-sxa-speコンテナを災害復旧で実行します
Searchstax-solr-init-sxa-speコンテナを実行するには:
-
*roles\sitecore-{topology}\templates\*に移動し、Searchstax-solr-init-sxa-speジョブファイルを「searchstax-solr-init-sxa-spe.yaml」という名前で追加してください。例えば:
apiVersion: batch/v1 kind: Job metadata: name: searchstax-solr-init-sxa-spe spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:
- name: sitecore-docker-registry initContainers:
- name: wait-solr image: "{{ docker_images.external.windowsservercore }}" command: "pwsh" args: "-Command", "do { Start-Sleep -Seconds 3 } until ((tnc $env -port $env).TcpTestSucceeded)" env:
- name: SERVER value: "{{ solr_fqdn }}"
- name: PORT value: "{{ solr_port }}" containers:
- name: solr-init image: "{{ docker_images.sitecore.solr_init_sxa_spe }}" env:
- name: SEARCH_STAX_APIKEY valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-apikey.txt
- name: SEARCH_STAX_ACCOUNT_NAME valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-account-name.txt
- name: SEARCH_STAX_DEPLOYMENT_UID valueFrom: secretKeyRef: name: sitecore-solr-searchstax key: sitecore-searchstax-deployment-uid.txt
- name: SITECORE_SOLR_CONNECTION_STRING valueFrom: secretKeyRef: name: sitecore-solr key: sitecore-solr-connection-string.txt
- name: SOLR_CORE_PREFIX_NAME value: sitecore
- name: SOLR_COLLECTIONS_TO_DEPLOY value: sxa restartPolicy: Never backoffLimit: 5
-
カスタムinit.yamlファイル(例えばcustom-init.yaml)を作成し、次のフォルダに入れてください: /roles/sitecore-{topology}/tasks。
-
Searchstax-solr-init-sxa-speジョブを追加するには、ファイルに以下のストリップを追加してください:
-
name: Execute sxa-spe solr-init job k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'searchstax-solr-init-sxa-spe.yaml') }}"
-
name: 'Wait - SXA-SPE Solr-init job' k8s_info: kind: Job name: searchstax-solr-init-sxa-spe namespace: "{{ solution_id }}" register: sxa_spe_solr_init_result until: (sxa_spe_solr_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60
-
name: Get all SXA-SPE Solr completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:
-
job-name = searchstax-solr-init-sxa-spe no_log: true register: solr_sxa_spe_pod_list
-
name: Remove SXA-SPE Solr job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ solr_sxa_spe_pod_list.resources }}"
-
-
カスタムinit.yamlファイルを呼び出すには、/roles/sitecore-{topology}/tasks/main.yamlにアクセスし、ファイルの最後に以下のコードを追加してください:
- name: Execute custom init jobs include_tasks: custom-init.yaml

-
アプリケーションパイプラインを実行してください。
-
カスタムジョブが正常に作成された場合は、「 Execute custom init jobs 」ロールをコメントアウトします。
Mssql-init-sxa-speコンテナを災害復旧なしで実行してください
Mssql-init-sxa-speコンテナを実行するには:
-
*roles\sitecore-{topology}\templates\*に移動し、mssql-init-sxa-speジョブファイルを「mssql-init-sxa-spe.yaml」という名前で追加してください。例えば:
apiVersion: batch/v1 kind: Job metadata: name: sxa-spe-mssql-init spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:
- name: sitecore-docker-registry containers:
- name: mssql-init image: "{{ docker_images.sitecore.mssql_init_sxa_spe }}" env:
- name: sitecore_admin_password valueFrom: secretKeyRef: name: sitecore-admin key: sitecore-adminpassword.txt
- name: SQL_ADMIN_PASSWORD valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databasepassword.txt
- name: SQL_ADMIN_LOGIN valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseusername.txt
- name: SQL_SERVER valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseservername.txt
- name: SQL_ELASTIC_POOL_NAME valueFrom: secretKeyRef: name: sitecore-database key: sitecore-database-elastic-pool-name.txt
- name: DATABASES_TO_DEPLOY value: spe,sxa restartPolicy: Never backoffLimit: 5
-
mssql-init-sxa-speジョブを実行するAnsibleタスクを追加するには、*roles\sitecore-{topology}\tasks\init.yaml*に移動し、ファイルの最後に以下のスクリプトを追加してください。
-
name: Execute sxa-spe mssql-init jobs k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'mssql-init-sxa-spe.yaml') }}"
-
name: 'Wait - SXA-SPE Mssql-init job' k8s_info: kind: Job name: sxa-spe-mssql-init namespace: "{{ solution_id }}" register: sxa_spe_mssql_init_result until: (sxa_spe_mssql_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60
-
name: Get all SXA-SPE Mssql completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:
-
job-name = sxa-spe-mssql-init no_log: true register: sxa_spe_mssql_pod_list
-
name: Remove SXA-SPE Mssql job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ sxa_spe_mssql_pod_list.resources }}"
-
-
アプリケーションパイプラインを実行してください。
Mssql-init-sxa-speコンテナをディザスターリカバリーで実行します
Mssql-init-sxa-speコンテナを実行するには:
-
*roles\sitecore-{topology}\templates\*に移動し、mssql-init-sxa-speジョブファイルを「mssql-init-sxa-spe.yaml」という名前で追加してください。例えば:
apiVersion: batch/v1 kind: Job metadata: name: sxa-spe-mssql-init spec: template: spec: nodeSelector: kubernetes.io/os: windows imagePullSecrets:
- name: sitecore-docker-registry containers:
- name: mssql-init image: "{{ docker_images.sitecore.mssql_init_sxa_spe }}" env:
- name: sitecore_admin_password valueFrom: secretKeyRef: name: sitecore-admin key: sitecore-adminpassword.txt
- name: SQL_ADMIN_PASSWORD valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databasepassword.txt
- name: SQL_ADMIN_LOGIN valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseusername.txt
- name: SQL_SERVER valueFrom: secretKeyRef: name: sitecore-database key: sitecore-databaseservername.txt
- name: SQL_ELASTIC_POOL_NAME valueFrom: secretKeyRef: name: sitecore-database key: sitecore-database-elastic-pool-name.txt
- name: DATABASES_TO_DEPLOY value: spe,sxa restartPolicy: Never backoffLimit: 5
-
カスタムinit.yamlファイル(例えばcustom-init.yaml)を作成し、/roles/sitecore-{topology}/tasksフォルダに入れてください。
-
mssql-init-sxa-speジョブをファイルに追加するには、以下のコードを追加してください:
-
name: Execute sxa-spe mssql-init jobs k8s: apply: true namespace: "{{ solution_id }}" state: present definition: "{{ lookup('template', 'mssql-init-sxa-spe.yaml') }}"
-
name: 'Wait - SXA-SPE Mssql-init job' k8s_info: kind: Job name: sxa-spe-mssql-init namespace: "{{ solution_id }}" register: sxa_spe_mssql_init_result until: (sxa_spe_mssql_init_result.resources0.status.conditions0.type | default('')) == 'Complete' retries: 60 delay: 60
-
name: Get all SXA-SPE Mssql completed pods k8s_info: kind: Pod namespace: "{{ solution_id }}" label_selectors:
-
job-name = sxa-spe-mssql-init no_log: true register: sxa_spe_mssql_pod_list
-
name: Remove SXA-SPE Mssql job's pods k8s: kind: Pod name: "{{ item.metadata.name }}" namespace: "{{ solution_id }}" state: absent no_log: true with_items: "{{ sxa_spe_mssql_pod_list.resources }}"
-
-
カスタムinit.yamlファイルを呼び出すには、/roles/sitecore-{topology}/tasks/main.yamlにアクセスし、ファイルの最後に以下のロールを追加してください:
- name: Execute custom init jobs include_tasks: custom-init.yaml

-
アプリケーションパイプラインを実行してください。
-
カスタムジョブが正常に作成された場合は、「 Execute custom init jobs 」ロールをコメントアウトします。