My Big Continuous Delivery Summary Post
I’ve accepted that I can’t help people roll out Selenium without actually helping them also roll out Continuous Delivery practices. As such, I’ve started to do talks and workshops on it. The first was a full-day workshop at STPCon and yesterday I recycled the same deck for a talk at a local conference.
Of course, the deck is pretty, but it doesn’t do much good without actually having me in front of it. So here are some notes around it. As I get more-and-more things to link, I will.
Title
- book – Continuous Delivery
- post – Camping Heuristic
An Ethical Distinction
The Lightsaber Heuristic
- post – The Lightsaber Heuristic
Lots of Moving Parts
- Acceptance criteria
- Configuration management
- Continuous Integration
- Data migration
- Deployment
- Functional test automation
- Immunization systems
Specifications
- Book – Bridging the Communications Gap
- Post – Specifications
- Post – Mindmaps
- Tool – Cucumber
- Tool – Robot Framework
Manual Inspection
- Idea – Clean trunk vs. Dirty trunk
- Post – Feature toggle(1)
- Post – Feature toggle(2)
Commit Phase
- Post – Policy enforcement with svn hooks
- Post – Empty commit message check
- Post – svn pre-commit for buddy
- Post – some random scripts you can have
Configuration Management – Most organization’s CM is stuff in the days of sail and schooners with lots of people involved doing lots of things to load/unload cargo. You want to move to the modern era with standardized, interchangeable containers. Once this is (fully) in place, you never should have to log into a machine to make a configuration change. And should you have to, then its a hole in your CM setup
- Tool – Puppet
- Tool – Chef
- Tool – CFEngine
- Tool – Managing the machines
- Tool – Selenium and Puppet
Continuous Integration – /Everything/ is run from here; job runs, deployments, etc. and is the Information Radiator for the whole organization.
- Tool – Jenkins
- Tool – Bamboo
- Post – Basic Jenkins Job Chains
- Post – Job Chain Starting Points
- Post – Parallel Job Chains in Jenkins
- Post – The CI Server as a Se-Grid replacement
Data Migration – Again, no more running SQL by hand! All scripted and version controlled
- Tool – DB Deploy
- Tool – ActiveRecord
- Book – Refactoring Databases
Deploy
- Tool – Fabric
- Tool – Capistrano
- Post – Controlling Apache nodes –
Functional Automation
- Tool – Selenium
- Post – Locators (see the comment I left)
- Post – Synchronization
- Post – Elements and Actions
Immunization Systems – Aot a lot of information on this, but essentially, have your monitor system check business metrics for a new build once pushed to an environment. If it drops below the mean for a specific amount of time, then roll it back
Organizational Changes – Continuous Delivery is not just a technical change, but an organizational one as well
- Post – G-Forces