When working with your site the primary responsibility is to make sure that we don't adversely affect its performance or stability. We undertake a set of practices that make sure we stay in control of the changes we make and be as sure as possible that we know what each deployment will do.
Working away from your live site¶
The most important thing we do is to never make changes directly on your live site. The first thing we'll do before working on your site is a Project Setup task which involves taking a copy of your site onto our own infrastructure, where we can be free to make changes while your live site remains unaffected.
Keeping track of what we change¶
Naturally when we make a copy of your site's code, we need to make sure we know what we've done so that when we come to deploy, we know what's changed.
We use a Version Control System called Git - an industry standard you might have come across in the form of GitHub. The objective of git is to track each and every change we or other developers make so that we have an audit trail of fixes, and an easy rollback should we need to undo what's changed.
When we're ready to deploy changes we always make sure you're happy that it's sufficiently tested.
We can offer multiple levels of testing, including automated browsers, and testing which digs deep into the code to check that all the internal components are operating correctly.
These need a worthile amount of investment, and in return offer the assurance that everything you expect to happen is operating as it should.
If you'd rather test manually we can facilitate that by putting your site on a Staging environment for you to click around and confirm you're happy for deployment to live.
Although primarily the responsibility of your Hosting company, we do keep backups of everything we work on.
The Git system is itself a backup of your code, and for your database we'll always make a dump of all the live data, which means we won't lose data should something go wrong.
We don't make any assurances of how long we'll keep that data however, so make sure your Hosting Company is keeping regular off site backups.
Deployments are handled using the Git system so we can be sure of what we're deploying. We'll always seek your authorisation before making any changes to your live site, and make sure they happen at a time when both you and we are available to resolve any issues which come up.
We always deploy at times when we can be confident that you'll be able to run with the changes, which means never deploying on a Friday, and as early as possible in the day, so that we can quickly roll back anything that causes issues.