EPiServer Commerce Upgrade strategy (in light of ECRP)
To move with the speed of EPiServer after the introduction of EPiServer Continuous Release Process, it is vital to have stories/tasks during project life cycle and after the delivery. Here is an example upgrade strategy
Backups:
Keep the backup of following elements before starting upgrade.
Complete Website (including packages and all other related folders) and Commerce Manger.
Keep the Copy of Files under Application Base Data also.
Path can be found from EPiServereFramework.config <appData basePath=""/>
Databases (CMS and MC both)
Upgrade:
Website:
*Do not install latest version of CMS first, as there are chances that latest cms version is not compatible with latest commerce at that time. Commerce Package will install its dependencies including latest CMS changes also.
Install EpiServerCommerce Latest version via Nuget Package Manager Console.
PM> Install-Package EPiServer.Commerce
In case something goes wrong
PM> Update-Package EPiServer.Commerce –Reinstall
To update database after upgrade
PM> update-epidatabase
To get scripts
PM> Export-EPiUpdates
If you are using configurations Transformation for config files then do not compile the project straightway otherwise config files like web.config will be over written. You will need to compare config files, and manually add change is transformation files. Following files can affect web.config, EPiServerFramework.config, packages.config, episerver.config or files under Config folder.
Commerce manager:
Create an Empty Project and Solution and add all commerce manager files into that project and run an upgrade.
Compare Bin files with the site.
I have to copy some files manually from Site to Commerce Manger after upgrade to Commerce 7.9.0 (EPiServer.Implementation, EPiServer.ImageLibrary, EPiServer.Enterprise, EPiServer.XForms and EPiServer.BaseLibrary)
Rollback Strategy:
Restore DB and Files from backup
UAT/Live Environments Strategy:
Keep the note of Configuration Changes.
Prepare EPiServer DB Script.
Deploy the site.
If you want to deploy those with octopus deploy: http://robertlinde.se/post/episerver-sql-scripts-and-continuous-integration-with-octopus-deploy
Comments