Skip to main content

Walkthrough: Upgrading DCRM on Docker

Abstract

How to upgrade the Sitecore Connect for Microsoft Dynamics 365 for Sales connector on a Sitecore container installation on Docker

This topic explains how to upgrade from Sitecore Connect for Microsoft Dynamics 365 for Sales (DCRM) 6.0 to DCRM 7.0 on a container platform.

Note

You must upgrade your SXP installation to 10.2 and your DCRM installation to 7.0 at the same time.

Before you perform the upgrade for DCRM container to version 7.0, you must have the following:

  • Sitecore Experience Platform (SXP) 10.1 deployed on Docker

  • DCRM 6.0 deployed on Docker

  • An up-to-date back up of the current DCRM 6.0 container files

This walkthrough describes how to:

  • Build new docker images for SXP 10.2 and DCRM 7.0.

  • Build an mssql-upgrade image

  • Perform the upgrade

To build the SXP 10.2 and DCRM 7.0 Docker images:

  1. Download the SXP container deployment 10.2 package from the Sitecore download page. Extract it to a new folder on your local workstation with the folder structure intact. Name the new folder, for example, DCRM7.

  2. Download the DCRM container deployment 7.0 package from the Sitecore download page. Extract it to your local workstation with the folder structure intact. Copy the files in the dcrm\compose\<windows version>\<topology> folder and paste them into the \compose\<windows version>\<topology> folder in the SXP 10.2 deployment structure.

  3. Navigate to your Sitecore 10.1 container deployment folder. Copy the databases from the mssql-data folder and paste them in the Sitecore 10.2 container deployment mssql-data folder.

  4. To deploy Sitecore 10.2, open a PowerShell window with administrator rights, navigate to the SC 10.2 Container deployment folder, and run the following commands:

    docker-compose build
    docker-compose up
  5. Verify that Sitecore Container 10.2 is up and running successfully.

You use a custom mssql-upgrade image to upgrade a Sitecore solution that has DCRM installed. To build a custom mssql-upgrade image, you must download the latest Sitecore XP mssql-upgrade image from the container registry and create a custom Dockerfile on top of it.

To build the mssql-upgrade image:

  1. From the Resource files for Modules 1.0.0 section on the Sitecore download page, download the Dynamics CRM Connect Upgrade resources 1.0.0 package. Extract it to a folder on your local machine.

  2. From the upgrade resources, copy the Dynamics CRM Connect Upgrade resources 1.0.0\6.0.0\Data folder and paste it into the upgrade folder for the Windows version and topology you are using, for example, ltsc2019\upgrade\xp1.

  3. In the DCRM Connect Upgrade resources 1.0.0\6.0.0 folder, create a docker file and name it Dockerfile. In the file, add instructions to point its base image to the 10.2 mssql-upgrade image. The file will look, for example, like this:

    ARG BASE_IMAGE= ${SITECORE_DOCKER_REGISTRY} /sxp/sitecore-xp1-mssql-upgrade : tag
    FROM ${BASE_IMAGE}
    SHELL ["powershell", "-Command", "$ErrorActionPreference = 'Stop'; $ProgressPreference = 'SilentlyContinue';"]
    # Add ? DCRM?  module
    COPY <Data folder local path> "C:\data\ResourceItems\10.1\modules"

    Note

    In the Dockerfile, ensure that ARG BASE_IMAGE parameter points to the mssql-upgrade image, and that the Data folder local path is set to the 6.0.0\Data folder in the folder you created in Step 1.

  4. To build the mssql-upgrade image, open a PowerShell window, navigate to the folder where you placed the Dockerfile, and run the following command:

    docker build . -t "<imageName>:<available port number>”
  5. Verify that Docker has created an image with the name you specified.

To perform the upgrade:

  1. On your local machine, in a PowerShell window, navigate to the Sitecore Container Deployment 10.2 folder. Navigate to the upgrade folder for the Windows version and topology you are using, for example, ltsc2019\upgrade\xp1.

  2. In the topology folder, run the compose-init.ps1 script. This script updates the environment configuration file with the appropriate values for all the environment variables including the SQL username, SQL password, SQL Server address, and the Sitecore license file.

    Note

    For more information about running the script to prepare for the deployment, see the Installation Guide for Developer Workstation with Containers on the Sitecore download page.

  3. In the upgrade folder, verify that the upgrade.env file has the correct details. For more details, see the Upgrade Container Deployment Guide for SXP 10.2.0.

  4. In the docker-compose.upgrade.yml file, update the image setting with the mssql-upgrade image you created previously.

  5. Open a new PowerShell window with administrator rights. Navigate to the upgrade directory.

  6. Verify that the mssql container is up and running.

  7. To start the upgrade, run this command:

    docker-compose.exe -f .\docker-compose.upgrade.yml --env-file .\upgrade.env up
  8. To check the status of the upgrade, run this command:

    docker-compose.exe -f .\docker-compose.upgrade.yml --env-file .\upgrade.env ps
  9. When the upgrade process is completed, you can clean up your environment.

    If you ran the upgrade container in Docker Compose, from the Docker Compose folder for the topology that you upgraded, for example, sitecore-xp1, run the following PowerShell cmdlet:

    docker-compose.exe -f .\docker-compose.upgrade.yml --env-file .\upgrade.env down