Applies to versions: Not applicable

Deploying an existing Commerce site

Recommended reading 

This topic describes first-time onboarding deployment of an existing Commerce website to the Integration environment, as part of the Optimizely DXP

When is this applicable?
This is an onboarding scenario for an existing site which you want to move to a cloud-based environment for the first time, for further development and maintenance there. In this case you already have a database with content, and you will need to get that restored to the correct application, which will be done by Optimizely.

In this topic

Before you start

This topic uses Visual Studio with the Optimizely extensions and publish profiles. However, you can also use other deployment methods.

  • See Requirements for recommended versions of software, tools and services to use when deploying.
  • See Getting started for information needed to deploy.

Note: If not already done, remember to change the default login credentials (admin/store) provided in the Commerce installation, before deploying. See Installing Optimizely.

Output and file formats

To deploy from your local development environment, you need to create a set of output files, and provide these to Optimizely for deployment to the Integration environment.

A Commerce solution consists of two databases: one for CMS and one for Commerce. So, there will be additional output components compared to a plain CMS site.

Creating the output files

To deploy from your local development environment, export the database as a .bacpac file and upload it to the DXP integration environment’s storage account. Optimizely Support will import it for you.

You can also upload the BLOBs directly (unpacked) to your DXP integration enviroment’s storage account.

Also, you can deploy the code using deployment API to the DXP integration environment.

1. Create code package

  1. Add cloud platform to the website. In the NuGet package manager:
    1. Select Browse.
    2. Enter Optimizely Azure in the search field.
    3. Select the EPiServer.CloudPlatform.Commerce package.
    4. Select your project.
    5. Click Install and confirm the installation.
  2. Run the solution.

2. Publish website to create code package

  1. In Visual Studio's Solution Explorer, right-click the project and select Publish.
  2. In the Pick a publish target dialog box, select New Folder.imagec7zl.png
  3. Click Next.
  4. Choose location or keep default.image8jee.png
  5. Click Finish.

Zip the contents of the publish directory and rename to ProjectName.cms.app.00001.nukpg.

3. Deploy package

Get api credentials, if you need to know how to do that click Deployment API authentication

The sample to deploy the code is using PowerShell. Any deployment API method will work as long as you are deploying a package. 
# Connect EpiCloud using credentials from portal
Connect-EpiCloud -ProjectId "projectId" -ClientKey "key" -ClientSecret "secret"

# Upload .NET Core Alloy to blob storage
$sasUrl = Get-EpiDeploymentPackageLocation
Add-EpiDeploymentPackage -SasUrl $sasUrl -Path .\AlloyNetCore.cms.app.0.1.0.nupkg

# Deploy package to environment. This will first build a docker image out of the package and then deploy it to the target environment.
Start-EpiDeployment -DeploymentPackage "AlloyNetCore.cms.app.0.1.0.nupkg" -TargetEnvironment "Integration" -DirectDeploy -Wait


In Microsoft SQL Server Studio, repeat steps 1-4 below for the front-end site database, and for the back-end Commerce Manager database, to create the bacpac output files.

  1. Connect to the database to use.
  2. Right-click on the database, and select Tasks > Export Data-tier Application...

  3. In Export Settings:
    1. Select Save to local disk.
    2. Select a target location for the files.
    3. Enter a name for the bacpac file.
    4. Click Next.

  4. After the export, verify the results and click Close.


For the front-end site, follow the steps below to create the output file for the media/BLOB content. 

  1. In Visual Studio, right-click on your project and select Open folder in File Explorer.
  2. Locate the blobs folder under App_Data, and zip the content of the blobs folder using a zip tool of your choice. 

Uploading the output files

When you have created the output files, contact Optimizely, and follow the instructions provided to upload them to the assigned area. The deployment will then be finalized by Optimizely.

Do you find this information helpful? Please log in to provide feedback.

Last updated: Sep 28, 2021

Recommended reading