I have finally finished setting up a fully functional environment in AWS Opsworks for one of our projects and but haven't gone fully live with it.
After doing some tweaks to one of my templates, I accidentally pushed a chef syntax error, updated my custom cookbook repo on the running instances and redeployed my app.
Midway through deployment the first instance obviously failed and the second one still carried on doing the deployment. Trying to load the site through the load balancer I can see the site already went down and the deployment on the second instance finished soon after.
Like I said this wasn't on production and once we go live we will have a staging stack as well and hopefully nothing like this should happen on live (ie. chef syntax errors), but still I was curious whether Opsworks provides something where you can say: "you've failed on one instance; now stop deploying to the rest of the instances".
It would also be nice if there was a way of getting notified when a deployment fails, like sending an SNS notification or something similar.
I was curious how other people deal with situations like these: where a deployment fails, stop deploying to all instances, notifications, rollback, etc. Or maybe I've missed some configurations on the dashboard.