Staging environments are notoriously difficult to setup and maintain. Unless you have a top-notch DevOps team, staging environments are usually different from production environments, and because of that, are fraught with problems—from failing deployments, to out of disk space errors, and various other errors.
Even when the staging environment is great, it has one problem—there’s only one. If you want to test a feature branch, you have to “allocate time”, or alternatively install the feature branch and risk disrupting other testers.
It’s time the testers took control! And build their own testing environments using Docker, Docker-Compose, and Docker Swarm.
In this talk, I will show how to deploy an app on your local machine using Docker and Docker Compose, and run an E2E test on it. I will also describe the necessary changes needed to make the application deployable in such a setup—turning it into a Twelve-Factor Application.