summaryrefslogtreecommitdiff
path: root/README.md
diff options
context:
space:
mode:
Diffstat (limited to 'README.md')
-rw-r--r--README.md91
1 files changed, 56 insertions, 35 deletions
diff --git a/README.md b/README.md
index 78328c4e1c..2d5604d501 100644
--- a/README.md
+++ b/README.md
@@ -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