HomeDev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunitySubmit a ticketLog In
GitHubNuGetDev CommunitySubmit a ticket

In [Optimizely DXP](🔗), manage deployments using the [DXP Management Portal](🔗).

Optimizely's deployment automation engine performs the following steps when deploying.

## 1. Package code from the source environment

This step creates a deployment package of the code in the source environment.


  • Files with the _.log_ extension are not included.

  • If a _.txt_ file cannot be read, (for example, it is locked by another process), it is skipped.

  • Locked files under \*wwwroot\\App\_Data\* are ignored.

  • Everything under _wwwroot\\App\_Data\\Blobs_ is excluded (should not be used in Azure).

## 2. Create a new slot on the target environment

This slot has the same configuration as the current production slot. Other settings, such as logging to BLOB storage, are also configured according to DXP standards. At this stage, the slot is in a _stopped_ state.

## 3. Deploy code to the new slot

The code package created in step one is deployed to the new slot.

## 4. Prepare monitoring and extensions

Extensions for application performance monitoring, are installed on the slot and configured according to DXP standards.

## 5. Apply configuration transforms

Any configuration transforms included in the code package matching the target environment is applied on the target. See [Environment configurations](🔗).

## 6. Configure warmup for the target slot

The deployment engine checks for an _applicationInitialization_ section in _web.config_; if none exists, it is created. See [Warm up sites](🔗).

## 7. Start the slot and prepare for "Go Live"

The slot is started and initiates a "swap with preview." The deployment engine monitors the site until it completely starts, and warm up finishes for all its instances.

The slot scales to the same level as the current production site so it can handle the production traffic load after the swap.

## 8. Validate the site

A manual "smoke test" is performed to verify that the site works as expected. For this to work, configure your Optimizely site to respond to the slot address. See [_Before going live step 1_ in the Going live section](🔗).

## 9. Go Live/Reset

If the site works as expected, it is swapped into the site's production slot of the current target environment (Preproduction or Production) and the old slot is stopped. If the site in the slot does not behave as expected, the swap is aborted and the slot site stopped. The files are saved for troubleshooting purposes, or until a new deployment is attempted.