Deck for DNNCon 2014 talking about the path that BlueBolt has taken to get higher quality deployments, with a side note to the BravoSquared Content Staging product.
I wear a lot of hats • Working a .NET developer for 12 years • Working in IT as an administrator 9 years • Working as an Enterprise Architect 3 years • Working as a Technology Security Consultant as needed • I’ve worked deploying sites like, Best Buy, Pantene, Pringles, Pampers, and a multitude of Enterprise Applications. About Me (@punkcoder)
The evolutions of development with applications. • Applications as a product, deployment was simple (-ish) • Web Applications as products. • CMS (Self Service Applications) and how they fit into this space. Background
Compliance and Control • Everyone gets a say • Off Hours Deployments • Everyone loves doing a 3am Deployment • Complex Rules • Owners can’t deploy their own work Why Enterprises Make This Worse
BACKUPS !!! • Take one before you start! • Take one once you are done with your deployment! • NOTE: If you cannot put your hand physically on a backup… It Doesn’t Exist!! • Practice Roll Back, if possible automate the rollback. The #1 Key to Successful Deployment
Deploy Early and Often !!! • As with anything practice makes perfect • Try to eliminate yourself from the equation • Establish differences between environments early, and plan for them. The #1b Key to Successful Deployment
Take Notes !!! • It’s important to know ALL of steps that you went through. • If you do it more than once, script it. * The #1c Key to Successful Deployment
There are a multitude of issues with this, but it is possible to maintain this in a pinch. • One of the biggest issues is that complacence becomes common place. • Fixes to issues get buried with time. • Builds bad practices. • Avoid this at all costs. Solution 0 : Edit Production
Copy… Paste… • This can work in some cases, as long as you have a site that doesn’t have customer interaction points. • Not terribly flexible, it’s really all or nothing. Solution 1 : XCopy Deployment
are tons of great ways to automate deployments: • POWERSHELL! • Grunt / Rake (msbuild… meh!) • Octopus Deploy • Chef (yup works for windows too) • Puppet Solution 3 : Automated Scripts
Uses nugget • Integrates directly with solution if there are developers. • Builds process around deployment and reproduction of the environment • SUPER STABLE Octopus Deploy
I can’t speak to these • But the products speak for themselves • Like Octopus deploy but way more complicated • Also support for multiplatform • Both support windows (but windows is still a 2nd class citizen) Chef / Puppet
• I’ve spent a LOT of time thinking about this issue. • This is the first public demo of the software • This is an early alpha build (v0.9.1) Bravo Staging Bridge