[chef] Re: Announcing Berkshelf - Manage your Cookbooks like your gems

Chronological Thread 
  • From: Jeremiah Snapp < >
  • To:
  • Subject: [chef] Re: Announcing Berkshelf - Manage your Cookbooks like your gems
  • Date: Tue, 26 Jun 2012 07:46:57 -0400

Nice work!  I especially appreciate the effort you are making to explain both this new tool as well as your general strategies for using chef and continuous deployment.


On Mon, Jun 25, 2012 at 3:39 PM, Jamie Winsor < " target="_blank"> > wrote:

We (Riot Games) have been hard at work these last few months setting up a continuous delivery process for not only our software, but also for the cookbooks that configure our software. Today we open sourced the first of a line of tools which we will be rolling out to the community.

Berkshelf is a way to manage a cookbook or an application's cookbook dependencies. It allows you to treat cookbooks like you treat gems. At Riot we are using Berkshelf on every internal application. A Berksfile is included in each application with a strict version lock to ensure we only deploy our build artifacts with the proper accompanying cookbook version. Given an application "league" it is accompanied by a Berksfile containing the line:

cookbook "league", git: " :riot/league.git", branch: "~> 1.61.0"

This ensures that during each build we always deploy the latest and greatest patches of the cookbook we deem appropriate for deploying the built artifact.

Berkshelf is also good for setting up a continuous delivery process for your Cookbooks themselves, too. At Riot every cookbook is stored in it's own Git repository which contains a Berksfile containing the line:


This marks the current working directory as being a cookbook itself for Berkshelf to take actions upon. These jobs will unit test, lint test, validate syntax, and then upload the cookbook to our Chef Server for consumption by other applications.

We hope that you find Berkshelf as useful as we do.

Pull requests welcome!

Jamie Winsor

Archive powered by MHonArc 2.6.16.