Devops deployemnt

Devops deployment

So you have found something in your study that needs to change. Heres a small insight into what we do when you ask for a change.

It could be that something in your CRF has changed, you have found a better way to do something or maybe something in Spinnaker is annoying you. Whatever it is, the path is the same and for the purpose of this example lets assume it’s a reasonable request and the change will be applied.

The change may begin with a Research Coordinator in a hospital who contacts the Project Manager with a suggested change.
The Project Manager passes reasonable requests on to us here at Spiral where the change goes through 3 phases …  development, staging/testing, and production. We have an environment for each of these.
New requests for changes are scheduled and assigned to one of our developers. They make their changes and create a new version of Spinnaker for your project. They test the changes work before the next phase …
Once the changes have been made one of our team checks and tests a few things around the change including testing that:
  • the changes made match the request
  • the new functionality actually works
  • Spinnaker is stable and continues to work as expected

Every project has a staging site which has a combination of the latest Spinnaker code on it and a copy of your study database. We have a whole server dedicated to our staging sites. If anything goes wrong here it’s not going to affect your study!
Then onto the next phase…

When testing on the staging site is completed we schedule a release date. We time the release for a quiet time of day when there are few or no people signed in to your study. During the release we:
  • check there is no-one adding or editing a form
  • compare the database structure between the production and staging environments
  • copy any database changes to the production environment. Only the database structure is copied, not any data.
  • copy the new code to the production environment
  • check Spinnaker is stable
  • tell your project manager about the release
That’s it in a nutshell …. except of course we keep doing this in a continuous cycle because that’s Devops and Agile development!