Tuesday, February 18, 2014

Sitecore Upgrade Process

Here is a high-level look at the upgrade process of a simple development environment

1) Backup web.config file and all other config files such as the ones in app_config folder.

2) Backup Website/sitecore folder (preferably this folder is not source controlled)

3) Backup master, core, and web databases (backup analytics db also if used)

4) The actual upgrade process is very incremental.  There is a Sitecore update package plus configurations changes for each increment.  For example, going from 6.6 Inital Release to 6.6 Update 2 would require installing two packages and perform two sets of config changes which must be done separately.

5) Follow the steps carefully.  For example: Follow the steps carefully on the correct upgrade process here: http://sdn.sitecore.net/Products/Sitecore%20V5/Sitecore%20CMS%206/Update/6_5_0_rev_120427.aspx.  Sometimes SQL scripts have to be run.

6) Clear out DLLs in the website/bin folder.  This should remove all references to old assemblies and prepare to be refreshed with new ones from lib (if used) upon building.

7) 7zip open the .Update file to obtain latest DLLs and place into the shared lib/sitecore folder.  Since all the references should be made to assemblies here, placing new DLLs here will cause all the references to be updated and copied over to the Website/bin folder upon building.  Add references to new DLLs in Visual Studio.

8) Rebuild solution

9) Test Sitecore UI and website

If things are acting funky in the Sitecore UI, chances are, that the sitecore folder does not have all necessary files.  Download a zip archive of the entire upgrade and copy over the entire Sitecore directory.   The archive should be more "pure" and has all the necessary files.

If you have to upgrade a multi-server production environment, there are a few additional steps in between.  We are assuming that the environment is a multi-server single database environment and there is also a different environment for production content authoring.  The production content authoring environment upgrade would be exactly the same as above since its also a simple single server setup.

10) For the server that is to be upgraded, you must take it off the load balancer.  Since the production content authoring environment has already been set up, that means the databases have already been upgraded.  Now it is just a code deploy along with bug fixes.  Deploy the code to this server.  Test for errors and fix.  Otherwise, if results are desirable, the upgrade process is done.  If results are desirable, put it back on the load balancer.  Repeat for each remaining server.

No comments:

Post a Comment