My review of Pipeline Conference 2016

What is Pipeline?

Pipeline is a not-for-profit conference about all things Continuous Delivery.

I attended last year and feel in love, so purchased a super early bird ticket this time.

Keynote - Jez Humble

So the conference kicked off with Mr Continuous Delivery himself, Jez Humble.

He spoke about “What I learned from three years of sciencing the crap out of Continuous Delivery”.

It was a fascinating hour from Jez, he said many quotes which really hit home to me.

  1. What we do not want to know is WHO made the mistake, you need to know WHY the mistake was made.

  2. People redefine the meaning of “Continuous Integration” in order to say that they are doing it.

  3. Based on the results from 2015 state of DevOps report IT performance really does matter.

He also spoke about the Westrum Typology regarding the topology of organisational culture.

Finally he suggested people take the 2016 state of DevOps report so get on with it.

Finally meeting Ken Mugrage (@kmugrage)

After a long time speaking online via Twitter and Slack I finally got to meet the Ken in the flesh.

The guy has been so helpful when it comes to tools such as Go.cd and SnapCI

He also told me that Mr Humble himself was the product owner for Go.cd two years before we wrote the book Continuous Delivery.

This makes sense as the tool lends itself very well to the software.

Ken, until next time, it was a pleasure my friend.

Open spaces

I decided this year that I would spend less time listening to “talks” and more time engaging with people at “open spaces”.

Incase you are unaware of what Open Spaces are, see here

This year I attend one and presented one.

Construction of a Chef cookbook template

Firstly, sorry about the delay in blogging, I am aiming to blog at least once per week, but for multiple reasons this hasn’t been possible.

One of the main reasons for this is due to working too many hours to hit deadlines and burning myself out.

However, I have been working on a few things I wanted to blog about.

Chef cookbook template

Whilst working on this Continuous Delivery pipeline project I noticed the need for cookbook consistency.

Therefore, I went about constructing a “chef cookbook template” repository.

The idea is that all other developers can clone this repository and tweak it for their needs.

I have uploaded this to GitHub

Please check it out, all feedback is welcomed via issues or this blog post.

Script to aid updating the chef server environment cookbook constraints

The way our CD pipeline works is that it polls our NuGet repository for a new version of artefact X

Once it has a new version it updates the chef environment to set that artefacts cookbook version to be the version of the latest artefact.

I worked along with my colleague James McKay to come up with a powershell script to make this easier.

I have uploaded this to GitHub

Please check it out, all feedback is welcomed via issues or this blog post.

Rebuilding my MacBook Pro

Firstly, sorry about the delay in blogging, I am aiming to blog at least once per week, but for multiple reasons this hasn’t been possible.

One of the main reasons for this is that I managed to screw my MacBook Pro up pretty spectacularly last week.

That is what you get for typing random commands into the terminal and hitting Enter without thinking about things.

Any how, I thought I would blog about my new setup.

HASHICORP - THAT IS ALL

As you can probably all tell by now I am a huge HashiCorp fan … #hashicult

Therefore the first tools I downloaded and installed were Packer, Terraform & Vagrant.

I downloaded them all to a folder called “~/hashicorp” and then went about setting my PATH to allow these to work (see below)

# Changes to my ~/.bash_profile file
export PATH="~/hashicorp/terraform:~/hashicorp/packer:$PATH"

The joys of the Chef Development Kit

Due to using Chef for my Continuous Delivery Pipeline I needed to download and install the ChefDK.

I made the following adjustment to my ~/.bash_profile file.

# Further changes to my ~/.bash_profile file
export PATH="/opt/chefdk/embedded/bin:${HOME}/.chefdk/gem/ruby/2.1.0/bin:$PATH"

I executed “knife -verify” and everything looked rosey.

However the problem came when I needed to use Vagrant Berkshelf when testing my Chef cookbooks.

The damn thing just wouldn’t work properly.

Then I stumbled across the fact I needed to add the following addition to my ~/.bash_profile file.

# Further changes required for Vagrant Berkshelf
export PATH="/opt/chefdk/bin:${HOME}/.chefdk/gem/ruby/2.1.0/bin:$PATH"