The upgrade process is an important component of any complex system. That is why one of the goals in Sitefinity Cloud is to make the upgrade process as seamless as possible, without compromising on customization.
You can upgrade the project in two ways:
- Automatic upgrade
Use the automatic upgrades generated with every major release.
- Manual upgrade
Upgrade the project whenever required, manually following the upgrade steps.
With every Sitefinity Cloud setup there is an automated process that upgrades the website for free. This process is executed every time there is a new Sitefinity version released. Following are the steps of the automated upgrade process:
master branch of the project is cloned.
- The Sitefinity NuGet packages for all projects in the website solution are upgraded to the latest version.
- A build operation is executed after the upgrade.
- The upgraded website is deployed.
- A runtime upgrade is executed using a database backup from Staging.
- The upgrade changes are pushed in an
upgrade branch and a pull request is created to the master branch.
- An email is sent to notify you that the website has been upgraded.
IMPORTANT: If you have made any customization to Sitefinity that require fixing API breaking changes in your code, this is not handled by the automatic upgrade.
- Fix any breaking changes in the upgrade branch and merge to
Premium automated upgrades
The Premium offering adds on top of the free automatic upgrades. This option is best suited for customers who want to entirely offload upgrades. This option includes:
- Additional Upgrade environment where the customer could test the upgraded project
- Progress Professional Services fixing custom code breaking changes after each upgrade
Follow the steps outlined below to perform the upgrade operation:
- Restore the production DB on your local machine. For more information refer to the Restore database locally instructions available on the Backup and restore the project database article.
- Checkout a new branch which will be used for the upgrade process.
- Upgrade Sitefinity NuGet packages on the newly created branch.
- Resolve any breaking changes. For more information see API Changes in Sitefinity CMS.
- Build the solution.
- Change the connection string in the web.config to point to your local SQL server and DB.
- Run the application and wait for Sitefinity upgrade scripts to pass.
- Commit changes and push the upgrade branch. For more information see the Commit your changes and sync them to Sitefinity Cloud section from Code deployment.
- Trigger the Pipeline for restoring the Production database to Staging environment. For more information see Backup and restore the project database.
NOTE: This step is necessary to ensure that the staging database and the production database are the same.
- Merge Upgrade branch to Master. For more information see the Create a pull request to push your code to the master branch section from Code deployment.
- After the deployment to Staging, test the website to make sure it functions as expected
- Promote to Production. For more information see the Promote your code to the production environment section from Code deployment.
Sitefinity Cloud has been designed to ensure high availability and maximum uptime of your website. During the upgrade process, the production website will remain functional and accessible to visitors. Content editing also remains uninterrupted.
NOTE: In case the website does not start after the upgrade, an automated rollback process will be triggered. In case of a rollback, the content changes done after the upgrade has started, will be lost.