Deploying Orchard.Web - From Version Control vs With Web Deploy

Topics: General
May 23, 2014 at 10:49 PM
I am writing to checkout my own opinion with the experts.

My sense is that we should not deploy an Orchard CMS from source control. There are two reasons.

First, doing so would overwrite the App_Data, Media, Modules, and Themes folders on each push. We don’t want that. Those folders hold end-user data.

Second, we don’t need source control for a deployment of Orchard. We aren’t modifying its source! We only modify the source to create themes and modules.

Instead, we should deploy Orchard with Visual Studio or WebMatrix and then regularly backup the site.

Does this align with the experts opinions?
May 23, 2014 at 11:48 PM
I'm not (yet) an expert on Orchard, but I think nobody is telling you to 'deploy it from source control'. Can you explain what that actually means? Create a checkout and use xcopy for deployment (sort of like this: http://docs.orchardproject.net/Documentation/Building-and-deploying-Orchard-from-a-source-code-drop)?

You can download the source and/or web versions which you can both deploy using several mechanisms on of which is Web Deploy. I'm currently deploying Orchard to an Azure website as well as another server running IIS by using web deploy. On the other hand, I also created some Orchard website instances using Webmatrix.

So I guess you already have almost anything you can wish for... Or are you specifically asking for the recommended way to deploy Orchard? Then you need to wait for an expert to answer...
May 24, 2014 at 3:43 AM
To deploy from source control is what I usually do when with web sites. A branch of the repository continuously deploys its updates to the live site.

Options abound for deploying Orchard, and you're right, I am looking for a recommended way.

My general sense is:
  1. use Orchard.Web + Web Deploy for new sites.
  2. use Orchard.Source for Theme/Module development.
I.e. we keep the live site separate from the theme/module development, and then integrate the them through package imports.