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


Chronological Thread 
  • From: AJ Christensen < >
  • To:
  • Subject: [chef] Re: Re: Re: Re: Announcing Berkshelf - Manage your Cookbooks like your gems
  • Date: Tue, 26 Jun 2012 21:45:45 +1200

The pure ruby constraint solver could be beneficial toward Chef
itself, I'm sure there is no other reason to be tied to libgecode --
it has to be packaged by Opscode for Ubuntu, even.. although the
omnibus packages make most of those problems minimal

--AJ

On 26 June 2012 21:23, Jamie Winsor 
< >
 wrote:
> You pretty much hit the key difference there - centralized storage.
>
> We set out to create a tool which would allow us to develop our cookbooks
> rapidly and make them first class citizens on a build server. The first task
> was pretty easy since @mitchellh (Vagrant) did all of that work for us.
>
> The second goal was a bit tougher; we had to integrate with a build process
> for two different types of jobs.
>
> One job is a cookbook job and the other is an application. In the case of a
> cookbook build job your CI server listens for changes in version control and
> then goes to work. We added the 'metadata' keyword which allows Berkshelf to
> resolve the current working project's dependencies much like Bundler's
> 'gemspec' function.
>
> The other job is an application who has an 'application cookbook'. In this
> case every application contains a Berksfile which contains only one source
> entry pointing to the application's cookbook.
>
> We have some additional things coming which will make Berkshelf more of a
> Bundler / RubyGems hybrid, but until then this is the basis of what we
> needed to accomplish to unblock our continuous delivery pipeline.
>
> We'll be improving portability and adding Windows support in the next
> release by dropping Gecode. You can expect some big fixes along the way and
> additional features to follow after we finish up a pure Ruby constraint
> solver in 0.4.0.
>
> --
> Jamie Winsor
> @resetexistence
> https://github.com/reset
>
> On Tuesday, June 26, 2012 at 2:08 AM, Bryan Berry wrote:
>
> Hey Jamie,
>
> Awesome work!
>
> How does berkshelf compare to librarian-chef?
>
> afaict, it uses a different mechanism to store and link to them, this gets
> around the issue of when you want to edit a cookbook managed by librarian,
> you can't really do that w/out using :path and then `librarian-chef install
> && librarian-chef update`  You've also got groups which looks like a very
> neat feature
>
> What else is different?
>
> On Mon, Jun 25, 2012 at 11:42 PM, Jamie Winsor 
> < >
> wrote:
>
> DNS fail on my part.
>
> You'll want to hit http://berkshelf.com until the CNAME for www is working
> properly.
>
> Sorry for the confusion!
>
> --
> Jamie Winsor
> @resetexistence
> https://github.com/reset
>
> On Monday, June 25, 2012 at 12:39 PM, Jamie Winsor wrote:
>
> Chefs,
>
> 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:
>
> metadata
>
> 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.
>
> http://www.berkshelf.com.
> https://github.com/riotgames/berkshelf
>
> Pull requests welcome!
>
> --
> Jamie Winsor
> @resetexistence
> https://github.com/reset
>
>
>
>



Archive powered by MHonArc 2.6.16.

§