Chef - Version Control System Setup


Using Version Control system is a fundamental part of infrastructure automation. There are multiple kinds of version control system such as SVN, CVS, and GIT. Due to the popularity of GIT among the Chef community, we will use the GIT setup.

Note − Don’t think of building an infrastructure as a code without a version control system.

On Windows

Step 1 − Download the Windows installer from and follow the installation steps.

Step 2 − Sign up for a central repository on GitHub.

Step 3 − Upload the ssh key to the GitHub account, so that one can interact with it easily. For details on ssh key visit the following link

Step 4 − Finally create a repo on the github account by visiting with the name of chef-repo.

Before actually starting to write a cookbook, one can set up an initial GIT repository on the development box and clone the empty repository provided by Opscode.

Step 1 − Download Opscode Chef repository empty structure.

$ wget

Step 2 − Extract the tar ball.

$ tar –xvf master

Step 3 − Rename the directory.

$ mv opscode-chef-repo-2c42c6a/ chef-repo

Step 4 − Change the current working directory to chef repo.

$ cd chef-repo 

Step 5 − Initialize a fresh get repo.

$ git init. 

Step 6 − Connect to your repo on the git hub.

$ git remote add origin 

Step 7 − Push the local repo to github.

$ git add. 
$ git commit –m “empty repo structure added” 
$ git push –u origin maste

By using the above procedure, you will get an empty chef repo in place. You can then start working on developing the recipes and cookbooks. Once done, you can push the changes to the GitHub.