Get your Devops on: CI / CD lab
Notes coming out of the Melbourne session: Some sidebar comments I made in my CD session at Melbourne ignited an interesting controversy that we'd like to carry forward into the discussion; I'd said that people should consider dropping gitflow and feature branches in general, (except for local experimental work), and instead to move everything to trunk, replacing feature branches with feature toggles. Some there thought it was a bit over the edge (nuts), and Thom Toogood put up a spirited defense of feature branches. It really brought out how people are thinking about managing code, and the ensuing discussion helped us get beyond "best practices" as dictums to arrive at a better understanding of what really we're trying to accomplish with Continuous Integration. We propose opening with this controversy, to get beyond to the mechanics of CI, to the large question of why CI is worth the effort.
CI and CD practices are all about delivering good ideas in the shortest time possible. Other benefits are improved quality, increased stability and productivity. There practices have the potential to dramatically change the economics of software delivery. For CI it's about getting fast feedback to developers, for CD it's about extending fast feedback from product owners. There are other benefits, but fast feedback is really important. It's all about the value stream map: the time between the expression of an idea and it's delivery to end users.
The first session focuses on Continuous Integration, opens with a talk covering the technical practices of Continuous Integration, emphasizing running Jenkins on feature branches doesn't cut it. The lab portion will work from a provided Vagrant image, setting up CI with Jenkins.
The second session focuses on Continuous Delivery, opens with a talk about what CD is, defines the build pipeline and what the costs and benefits are. The lab portion will work from a provided Vagrant image, setting up a build pipeline in Open Source Go. (http://www.go.cd)
Drupal version is not so important here, the principles are the same. We'll be bringing on a partner for the lab, and will provide details one we get a commitment. Should be great fun.
Note: Blackmesh has agreed to help support this lab.