1. Dev pushes branch to repo 2. Dev assigns ticket to QA 3. QA builds a sandbox server 4. QA tests everything under the sun 5. Any bugs are pushed to repo and auto-pushed to sandbox server 6. After QA gives green light, sandbox server is taken down.
Average uptime for a sandbox server was a few hours, and we caught a bazillion bugs this way. I'm no longer with that company, so it's really exciting that someone else has built something like this off-the-shelf so that I can continue with that workflow at future jobs. :)