I love Backdrop CMS. I have Migrated to this from Drupal 8. I have a series of scripts to create a Backdrop CMS site in a few minutes here The basic method for upgrading is shown there too.

Upgrading Backdrop CMS is easy enough, but when you have multiple sites to manage it can become a somewhat laborious process prone to errors.

I have Local, Development (Dev) and Production (Prod) sites for each domain. I use Bash Scripts, Git, Drush and Ansible to do the graft.

Prerequisites

You will need to have Git, Ansible and Drush 8 with Backdrop Extensions installed. Ansible Documentation is here

With Ansible you will need to have your own Ansible Hosts File setup for the Local, Dev and Prod Servers and correct the scripts accordingly. They do not need Sudo, just run as a normal user, but you will need ssh keys setup on the remote and local servers for paswordless login.

To upgrade I follow this workflow:

  • Sync Prod to Local and test
  • Upgrade Local and test
  • Sync Dev to Local and test
  • Sync Prod to Local and test

It is useful to have a standard naming convention, so I use <SiteName>.local, <SiteName>dev and <SiteName>prod

My Local Sites are on a local server and the Dev and Prod on remote servers.

I have created Bash Scripts to export and import the site configuration and database. Also to upgrade core and modules. These can be found on github here as well.

Automation and Streamlining:

I have a GitHub repository with my Scripts and Playbooks here with a more detailed description