diff options
Diffstat (limited to 'README.md')
-rw-r--r-- | README.md | 91 |
1 files changed, 56 insertions, 35 deletions
@@ -1,5 +1,7 @@ # Chef +Want to try Chef? Get started with [learnchef](https://learnchef.opscode.com) + * Documentation: [http://docs.opscode.com](http://docs.opscode.com) * Source: [http://github.com/opscode/chef/tree/master](http://github.com/opscode/chef/tree/master) * Tickets/Issues: [http://tickets.opscode.com](http://tickets.opscode.com) @@ -9,62 +11,81 @@ Chef is a configuration management tool designed to bring automation to your entire infrastructure. -The [Chef Wiki](http://wiki.opscode.com/display/chef/Home) is the definitive -source of user documentation. +This README focuses on developers who want to modify Chef source code. +If you just want to use Chef, check out these resources: -This README focuses on developers who want to modify Chef source code. For -users who just want to run the latest and greatest Chef development version in -their environment, see the -[Installing Chef from HEAD](http://wiki.opscode.com/display/chef/Installing+Chef+from+HEAD) -page on the wiki. +* [learnchef](https://learnchef.opscode.com): Getting started guide +* [http://docs.opscode.com](http://docs.opscode.com): Comprehensive User Docs +* [Installer Downloads](http://www.getchef.com/chef/install/): Install Chef as a complete package -## Contributing/Development +## Installing From Git -Before working on the code, if you plan to contribute your changes, you need to -read the -[Opscode Contributing document](http://wiki.opscode.com/display/chef/How+to+Contribute). +**NOTE:** Unless you have a specific reason to install from source (to +try a new feature, contribute a patch, or run chef on an OS for which no +package is available), you should head to the [installer page](http://www.getchef.com/chef/install/) +to get a prebuilt package. -You will also need to set up the repository with the appropriate branches. We -document the process on the -[Working with Git](http://wiki.opscode.com/display/chef/Working+with+git) page -of the Chef wiki. +### Prerequisites -Once your repository is set up, you can start working on the code. We do use -TDD with RSpec, so you'll need to get a development environment running. +Install these via your platform's preferred method (apt, yum, ports, +emerge, etc.): -### Requirements +* git +* C compiler, header files, etc. On Ubuntu/debian, use the + `build-essential` package. +* ruby 1.8.7 or later (1.9.3+ recommended) +* rubygems +* bundler -Ruby 1.8.7+ (As of 2012-05-25 Ruby 1.8.6 should still work, except for CHEF-2329.) +### Chef Installation -### Environment +Then get the source and install it: -In order to have a development environment where changes to the Chef code can -be tested, we'll need to install a few things after setting up the Git -repository. + # Clone this repo + git clone https://github.com/opscode/chef.git + + # cd into the source tree + cd chef -#### Non-Gem Dependencies + # Install dependencies with bundler + bundle install -Install these via your platform's preferred method; for example apt, yum, -ports, emerge, etc. + # Build a gem + rake gem -* [Git](http://git-scm.com/) -* GCC and C Standard Libraries, header files, etc. (i.e., build-essential on -debian/ubuntu) -* Ruby development package + # Install the gem you just built + gem install pkg/chef-VERSION.gem -#### Runtime Rubygem Dependencies -First you'll need [bundler](http://github.com/carlhuda/bundler) which can -be installed with a simple `gem install bundler`. Afterwords, do the following: +## Contributing/Development - bundle install +Before working on the code, if you plan to contribute your changes, you need to +read the +[Opscode Contributing document](http://docs.opscode.com/community_contributions.html). + +You will also need to set up the repository with the appropriate branches. We +document the process on the +[Working with Git](http://wiki.opscode.com/display/chef/Working+with+git) page +of the Chef wiki. + +Once your repository is set up, you can start working on the code. We do use +TDD with RSpec, so you'll need to get a development environment running. +Follow the above procedure ("Installing from Git") to get your local +copy of the source running. ## Testing We use RSpec for unit/spec tests. It is not necessary to start the development environment to run the specs--they are completely standalone. - rake spec + # Run All the Tests + bundle exec rake spec + + # Run a Single Test File + bundle exec rspec spec/PATH/TO/FILE_spec.rb + + # Run a Subset of Tests + bundle exec rspec spec/PATH/TO/DIR # License |