Follow up from
- Dockerised demo refapp, and other questions about demo data
- Process to update the demo server
- Demo server doesn't have OWAs configured right
- Demo server is messed up
- Demo server is not very stable
- New demo server is ready for tests!
Since RefApp 2.5, demo server was in a pretty bad state. We couldn’t reset its database. Also it was pretty hard for me to actually realise that both java and tomcat required updates (should this information be more visible on release notes? )
So it was time to dockerise it! Using the SDK, we are now pushing refapp docker image to dockerhub (on every build - nightly - and on release). When it’s time to push to demo, it would be a matter of push a new tag (demo) to dockerhub.
The docker containers are being destroyed and recreated every day from Bamboo. So, any plugins, changes, database config, anything will go away.
If that wasn’t cool enough, I will tell you can run demo locally: https://github.com/openmrs/openmrs-contrib-ansible-docker-compose/tree/master/files/demo
So, before deploying, you can actually run it locally, with the same data. Or reproduce anything locally. As a release manager, you can guarantee that demo deployment will work, without infrastructure team help. Next time there’s a new tomcat or java upgrade, it’s your responsibility to have a docker image which actually supports it
But wait, there is more!
Yes, I made sure that we can now create several docker hosts, totally automated. More, if you want to deploy a new docker-compose app to our infra, read https://github.com/openmrs/openmrs-contrib-ansible-docker-compose
We allow two types of image deployments: based on dockerhub webhooks or a Bamboo build. You can choose!
I do have plans on writing a blogpost about it, how we made it in our infra, what we are using and everything.