Simply put, keeping your software up to date just makes sense. Improvements are shipped with every Sitefinity release to enhance productivity, security and performance.
But hey, you already know that. So, this blog is less about the why and more about the how. It’s a first-look, hands-on sort of piece that sets off a series of posts introducing new features and enhancements, which our engineering teams are adding to Sitefinity. Keeping it short and simple, let’s get right to it—automated upgrades in Sitefinity Cloud.
Cloud Clicks into Gear
Obvious though it seems, getting the latest Sitefinity version just makes things better. We ship new functionality with each product release to deliver a tangible performance boost, superior tools, smarter workflows and tighter security.
For DevOps and Sitefinity admins out there, we made upgrading Sitefinity Cloud as smooth as possible. Here’s how…
Our main goal was to speed up a time-consuming process, reduce the overhead, minimize the margin of error and resolve potential hurdles. Updating the web.config is a case in point. It’s handled by the NuGet itself but occasional failures to update the binding redirects have been an issue.
The automated upgrade procedure has this resolved but, equally important, we’ve managed to reduce the time and make it an overall more straightforward and less error-prone routine. The table below sums it up nicely.
|
|
|
Old Flow |
Automated Flow |
|
Check for available updates |
Sitefinity Dev / DevOps |
Pipeline |
Get source code from master branch |
Sitefinity Dev / DevOps |
Pipeline |
Upgrade project |
Sitefinity Dev / DevOps |
Pipeline |
Build and deploy package to new environment |
Sitefinity Dev / DevOps |
Pipeline |
Create new branch |
Sitefinity Dev / DevOps |
Pipeline |
Commit/push updated files and configurations |
Sitefinity Dev / DevOps |
Pipeline |
Run set of tests |
Sitefinity Dev / QA |
Sitefinity Dev / QA |
Merge upgrade branch into master |
Sitefinity Dev / DevOps |
Sitefinity Dev / DevOps |
Run sanity tests |
Sitefinity Dev / QA |
Sitefinity Dev / QA |
Promote to production |
Sitefinity Dev / DevOps |
Sitefinity Dev / DevOps |
OK, let’s break down the steps of the upgrade procedure and see how Sitefinity Cloud is living up to its tagline by letting developers code and create instead of fretting over the infrastructure and maintenance. The process below will be executed every time there is a new Sitefinity release—and daily automatic checks for a new version of the Sitefinity NuGet Package are part of the pipeline.
- Clone the project master branch
- Update Sitefinity NuGet packages to the latest version
- Execute build operation
- Deploy upgraded project
- Execute runtime upgrade using DB backup from Staging
- Push changes to an upgrade branch and create pull request to master
- Send email notifying customer of the upgrade (and the pull request awaiting approval)
So, once the pipeline kicks in and the steps above are executed, the following notification will be delivered to your inbox.
The pull request is available for you to review, merge and run your test suite on prior to promoting to production.
Now, that’s the most straightforward scenario where the automation sees the entire sequence almost all the way through. It’s important to note still, that you have the final say on whether and when to release the upgrade.
Depending on your setup and level of customization though, the automated pipeline may detect breaking changes and stop short of executing a build. Needless to say, you’ll be duly notified.
The automated upgrade process obviously doesn’t handle breaking changes in the code or APIs. This is where you need to intervene and resolve the breaking changes.
I guess you know the drill. The local setup involves restoring the production DB to your machine, checking out a new branch, updating the connection string in the web.config to point to your local SQL server and DB. Then you build and resolve any breaking changes. And you only merge after all the essential tests are passed.
The main point of PaaS is it takes care of a lot of stuff that’s common sense even if not too exciting. Keeping the software version up to date is now on the list as well.
We’ve started rolling out the automated upgrades. Feel free to get in touch with your Sitefinity Cloud account rep in case you have any questions or need more detail.
Anton Tenev
A Sitefinity Product Marketer, Anton has a mixed background of software and writing for the web. He has spent the last 10 years in software development, on the project management and product ownership side, all the while writing about technology, gadgets and their use and usability. He is always trying to get to the bottom of things without missing the bigger picture.