チュートリアル: コンテナ環境でのSFCRMコネクタのインストールの準備

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

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

Sitecore Connect for Salesforce CRMコネクタ (SFCRM) をコンテナ インストールに追加する準備をするには、DockerにデプロイするかAzure Kubernetes Serviceにデプロイするかに関係なく、このチュートリアルの手順に従います。

このチュートリアルでは、次の方法について説明します。

  • インストール ファイルを準備します。

  • Dockerイメージをビルドします。

インストール ファイルを準備する

インストールに必要なファイルを準備するには:

  1. Sitecoreのダウンロード ページからSFCRMコンテナー デプロイ パッケージをダウンロードします。フォルダ構造をそのままにして、ローカルワークステーションに抽出します。

  2. SFCRMコンテナデプロイメントパッケージを抽出したフォルダに移動します。使用しているWindowsのバージョンとトポロジのフォルダー ( compose\ltsc2019\xp1など) に移動します。

  3. エディタで .env-exampleファイルを開きます。すべての変数をクリップボードにコピーします。

  4. ローカル マシンのSitecore Experience Platform (SXP) コンテナー デプロイメント フォルダーに移動します。使用しているWindowsのバージョンとトポロジのフォルダー ( compose\ltsc2019\xp1など) に移動します。

  5. エディタで .envファイルを開き、SFCRM .env-exampleファイルから変数を貼り付けます。 MYSF_CONNECTIONSTRINGのデフォルト値を、???. で準備した接続文字列に置き換えます

  6. SFCRM compose\<version>\<topology> フォルダから、docker-compose.override.ymlファイルをSXPコンテナ展開compose\<version>\<topology> フォルダ ( docker.compose.ymlファイルがある場所) にコピーします。

Dockerイメージをビルドする

インストール・ファイルを準備したら、ロールごとにDockerファイルを作成し、Dockerイメージをビルドする必要があります。

メモ

画像アセットの詳細については、Sitecoreモジュールの追加方法に関するドキュメントを参照してください。

イメージをビルドするには:

  1. ローカル マシンのSitecoreコンテナー デプロイ フォルダーに移動します。使用しているWindowsのバージョンとトポロジのフォルダー ( compose/ltsc2019/xp1など) に移動します。フォルダを作成し、moduleという名前を付けます。

  2. moduleフォルダに、次のサブフォルダを作成します。

    • cm

    • xconnect

    • xdbsearchworker

  3. 各サブフォルダに新しいファイルを作成し、Dockerfileという名前を付けます。

  4. cmフォルダのDockerfileファイルに、次の手順を入力します。

    # escape=`
    ARG BASE_IMAGE
    ARG SFCRM_IMAGE
    ARG DEF_IMAGE
    ARG TOOLING_IMAGE
    
    FROM ${DEF_IMAGE} as def
    FROM ${SFCRM_IMAGE} as sfcrm
    FROM ${TOOLING_IMAGE} as tooling
    FROM ${BASE_IMAGE} as baseImage
    
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    
    #Add tools from sitecore-docker-tools-assets
    COPY --from=tooling \tools\ C:\tools\
    FROM baseImage as defsfcrm
    
    # Add DEF module
    COPY --from=def \module\cm\content C:\inetpub\wwwroot
    
    # Add SFCRM module
    COPY --from=sfcrm \module\cm\content C:\inetpub\wwwroot
    
    #Copy transformation files
    COPY --from=sfcrm \module\xdttransform\cm\transforms\ C:\transforms\role
    
    # Add SFCRM connection strings in Sitecore config file
    RUN C:\tools\scripts\Invoke-XdtTransform.ps1 -Path C:\inetpub\wwwroot -XdtPath C:\transforms\role
    
    #Enable loadUserProfile to allow CMS to connect to salesforce
    RUN C:\windows\System32\inetsrv\appcmd.exe set config -section:system.applicationHost/applicationPools /applicationPoolDefaults.processModel.loadUserProfile:"true" /commit:apphost;
  5. xconnectフォルダのDockerfileファイルに、次の手順を入力します。

    # escape=`
    ARG BASE_IMAGE
    ARG SFCRM_IMAGE
    ARG TOOLING_IMAGE
    
    FROM ${SFCRM_IMAGE} as sfcrm
    FROM ${TOOLING_IMAGE} as tooling
    FROM ${BASE_IMAGE} as baseImage
    
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    
    #Add tools from sitecore-docker-tools-assets
    COPY --from=tooling \tools\ C:\tools\
    
    # Copy models file into index worker
    COPY --from=sfcrm \module\xconnect\content C:\inetpub\wwwroot
    
    #Copy transformation files
    COPY --from=sfcrm \module\xdttransform\xconnect\transforms\ C:\transforms\role
    
    # Update value for IndexPIISensitive and IndexAnonymousContactData in IndexerSetting
    RUN C:\tools\scripts\Invoke-XdtTransform.ps1 -Path C:\inetpub\wwwroot -XdtPath C:\transforms\role
  6. xdbsearchworkerフォルダのDockerfileファイルに、次の手順を入力します。

    # escape=`
    ARG BASE_IMAGE
    ARG SFCRM_IMAGE
    ARG TOOLING_IMAGE
    
    FROM ${SFCRM_IMAGE} as sfcrm
    FROM ${TOOLING_IMAGE} as tooling
    FROM ${BASE_IMAGE} as baseImage
    
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    
    #Add tools from sitecore-docker-tools-assets
    COPY --from=tooling \tools\ C:\tools\
    
    # Copy models file into index worker
    COPY --from=sfcrm \module\xdbsearchworker\content C:\service\
    
    #Copy transformation files
    COPY --from=sfcrm \module\xdttransform\xdbsearchworker\transforms\ C:\transforms\role
    
    # Update value for IndexPIISensitive and IndexAnonymousContactData in IndexerSetting
    RUN C:\tools\scripts\Invoke-XdtTransform.ps1 -Path C:\service -XdtPath C:\transforms\role
  7. compose\<version>\<topology>\docker-compose.override.ymlファイルに、各ロールのビルド手順を追加します。たとえば、XP0トポロジを使用している場合、ファイルは次のようになります。

    services:
      cm:
        image: sitecore-sfcrm-xp0-cm:${SITECORE_VERSION}
        build:
          context: ./module
          dockerfile: ./cm/Dockerfile
          args:
            BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-cm:${SITECORE_VERSION}
            DEF_IMAGE: ${SITECORE_DOCKER_REGISTRY}modules/sitecore-def-xp0-assets:${DEF_VERSION}
            SFCRM_IMAGE: ${SITECORE_DOCKER_REGISTRY}modules/sitecore-sfcrm-xp0-assets:${SFCRM_VERSION}
            TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
            environment:
              Sitecore_ConnectionStrings_mysf: ${MYSF_CONNECTIONSTRING}
    xdbsearchworker:
      image: sitecore-sfcrm-xp0-xdbsearchworker:${SITECORE_VERSION}
      build:
        context: ./module
        dockerfile: ./xdbsearchworker/Dockerfile
        args:
          BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-xdbsearchworker:${SITECORE_VERSION}
          SFCRM_IMAGE: ${SITECORE_DOCKER_REGISTRY}modules/sitecore-sfcrm-xp0-assets:${SFCRM_VERSION}
          TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
    xconnect:
      image: sitecore-sfcrm-xp0-xconnect:${SITECORE_VERSION}
      build:
        context: ./module
        dockerfile: ./xconnect/Dockerfile
        args:
          BASE_IMAGE: ${SITECORE_DOCKER_REGISTRY}sitecore-xp0-xconnect:${SITECORE_VERSION}
          SFCRM_IMAGE: ${SITECORE_DOCKER_REGISTRY}modules/sitecore-sfcrm-xp0-assets:${SFCRM_VERSION}
          TOOLING_IMAGE: ${SITECORE_TOOLS_REGISTRY}sitecore-docker-tools-assets:${TOOLS_VERSION}
  8. compose\<version>\<topology>\.envファイルに、アセット イメージ バージョンを追加します。例えば:

    DEF_VERSION=<image version for your topology>
    SFCRM_VERSION=<image version for your topology>
    SITECORE_TOOLS_REGISTRY=scr.sitecore.com/tools/
    TOOLS_VERSION=<image version for your topology>
    手記

    イメージのバージョンは、Sitecore Dockerイメージ リポジトリで確認できます。

  9. Windowsコンソールで、docker-compose.override.ymlファイルが含まれているフォルダーに移動します。コマンドdocker-compose buildを実行します。

  10. Dockerにデプロイする場合は、DockerでSFCRMコネクタ モジュールをSitecoreに追加するの手順に進みます。

    Kubernetesにデプロイする場合は、「 チュートリアル: Azure Kubernetes ServiceのSitecoreにSFCRMコネクタ モジュールを追加する」の手順に進みます。

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