This content is archived. See latest version here

Last updated: Mar 25 2013

Table of Contents

Introduction

This document describes various aspects of deployment in relation to the EPiServer CMS platform. In many large organizations, the actual content production is often done in a protected corporate zone instead of directly on the public server. By using the staging and mirroring features of EPiServer CMS, content is pushed to the delivery environment. Deployment in EPiServer CMS involves the distribution of content and code packages between the development and production environments.

How to run a successful web development project lead to many questions to consider, both for customers, project managers and developers. It is a common practice to develop a site running on a development server and then to deploy it onto a test server, and after a successful test, to deploy the website on the live production web server.

  • What preparations are needed, which decisions must be taken?
  • What technical aspects must be considered during development, how to build content and how is the acceptance testing done?
  • Migrate content from an existing website, or create new from scratch?
  • Which features will be implemented on the website, which in turn will affect development and configuration?

Considerations for the Deployment Environment

The deployment environment can be divided into the following parts:

  • Development is the local environment where developers in the project team create code and do their unit tests.
  • Integration is the shared code repository where builds are done before deploying to the test environment.
  • Test (Quality Assurance QA) is the environment where the acceptance test is carried out. Resembles the delivery environment as much as possible.
  • Deployment is the testing environment is deployed into production.
  • Content Management is the area where the actual content production is carried out, often on separate servers behind a firewall.
  • Content Delivery is the public environment where the visitor accesses the content, the servers are often load balanced for availability reasons.

Considerations for the Development Environment

Setting up a development environment is quick and easy using the EPiServer Deployment Center. You can choose between an express installation or a custom installation. The platform is delivered with an optional set of page templates. From the download files, you will be creating a new website and setting up a database, together with a Visual Studio project folder and a file share.

Choosing a Development Strategy

The way you set up your development environment can influence the way you build and deploy your EPiServer solution. For example, if your production website will be running a web server with IIS7 it may well be suitable to create a website in EPiServer Deployment Center.

The way you deploy your solution could well be influenced by how you set up the initial development environment. For example, if you are not using IIS as a part of your deployment environment you may need to maintain a separate web.config for your development and production environments.

Why would you want to create an EPiServer solution based on the public templates and/or demo templates from the EPiServer Deployment Center?
  • You will create a project that is configured for the planned target platform.
  • If you are using any additional EPiServer modules for your project it is beneficial to use this approach since deploying modules requires Deployment Center “based” projects.
  • You will have many EPiServer CMS templates on which you can continue to develop upon. Using the public or demo templates you will have an project advanced starting point.
Why would you want to create an “empty” website from the EPiServer Deployment Center?
  • You will create a project that is configured for the planned target platform.
  • If you are using any additional EPiServer modules for your project it is beneficial to use this approach since deploying modules requires Deployment Center “based” projects.
  • If your production environment uses IIS7 this is probably the best alternative since the Visual Studio project does not really support IIS7 style web.config (see the section: Why would you want to create an EPiServer site in Visual Studio?).
  • You will be creating a clean installation without EPiServer templates, starting out with a “clean slate” can sometimes be desired.
Why would you want to create an EPiServer project in Visual Studio using the EPiServer project template?
  • By creating the project from Visual Studio you will have a project that you can check out on other machines without bothering with what version of IIS you have on the development machine since Visual Studio WebServer is used by default.
  • One disadvantage with this approach is that if your project is targeting IIS7 because then you will need to maintain a separate web.config for your test and production environment.
  • By creating the project from Visual Studio you will have a project you do not need to be concerned with which version of IIS you have on the development machine since you are able to use the inbuilt Visual Studio Web Server.

Do you have feedback on this documentation? Send an email to documentation@episerver.com. For development-related questions and discussions, refer to our Forums on https://world.episerver.com/forum/