This document is focused on users who wish to get the latest development version of Chef installed for testing and development, or for the latest and greatest features that haven't been officially released yet.
Developers who wish to contribute to the project are encouraged to read the README.rdoc in the GitHub repository.
Each released version of Chef is tagged in the Git Repository. You can work with a previous version's code by checking out the tag.
First, you'll want to designate a system for development and deployment. This is the place where you'll clone the repository and create the gems. It can be your local workstation, or it can be the Chef Server itself.
When installing the gems that are built from these instructions and using the Installing Chef Server using Chef Solo on Chef Server or Chef Client systems, other dependencies are handled as well such as CouchDB, RabbitMQ and Java.
Installing the Gems
We're going to install the gems from the repositories checked out above. Each of these has gem dependencies that build on each other. This is the order which you should install the gems.
In each rake install, the respective gem was generated. We recommend setting up an internal RubyGems server in your environment to host the development gems, so you don't have to copy them manually to client systems for testing. Opscode provides a gems::server recipe that will help you set up a RubyGems server.
Ohai and Chef use some "mixin" libraries that Opscode wrote. We need to install these first or the Ohai and Chef gems will fail to build.
Ohai needs to be installed as well so the Chef gems can be built.
For a chef-client, just install the
On Ubuntu lucid, maverick, or Debian lenny release, you can install gecode deb package from the Opscode APT repository.
Add the Opscode APT Repository
If you would like to be able to download source packages, add an additional identical line, but change
You can copy and paste these examples to create the necessary sources.list entry:
Debian users will likely need to run 'apt-get install sudo wget lsb-release' as root before pasting the examples.
Add the GPG Key and Update Index
Before you install the packages, make sure you add the Opscode GPG key to apt.
Now, we update apt-get with the newly added Opscode repository:
Installing the opscode-keyring package will keep the key up-to-date:
Upgrade Existing Packages
To ensure you are using the latest versions of libraries that chef depends on, you may wish to update your existing packages:
Install deb package
Build and Install from Source
If you are not using a RubyGems server, you'll want to install the Chef Server gems.
Gemcutter jeweler are also prerequisites to do a rake install for the server. So before you do the rake install for the server:
Then you can install the server:
The Installing Chef Server Manually procedures can be used to get the server configured. If you're planning to run systems on the development version, we strongly recommend a RubyGems server with Chef and all the dependencies available to ease this process. Or, if you're using Amazon EC2, build an AMI with the gems installed.