diff options
author | Tim Smith <tsmith@chef.io> | 2019-04-08 20:01:49 -0700 |
---|---|---|
committer | Tim Smith <tsmith@chef.io> | 2019-04-23 16:52:14 -0700 |
commit | 72ab794d1d3f40fa03c899b7756c73b4cfc4d782 (patch) | |
tree | 9fc2360fa95e099319ebd83ff793c6840f685562 /docs | |
parent | c62c721689e5abc55478c011ec27cf9a20dd2907 (diff) | |
download | chef-72ab794d1d3f40fa03c899b7756c73b4cfc4d782.tar.gz |
Move building and installing information to a dev doc
We can expand upon this here with more information on setting up your workstation for development and creating the omnibus package.
Signed-off-by: Tim Smith <tsmith@chef.io>
Diffstat (limited to 'docs')
-rw-r--r-- | docs/dev/building_and_installing.md | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/docs/dev/building_and_installing.md b/docs/dev/building_and_installing.md new file mode 100644 index 0000000000..70510fddea --- /dev/null +++ b/docs/dev/building_and_installing.md @@ -0,0 +1,46 @@ +# Building and Installing + +Chef Infra can be built and installed in two distinct ways: + - A gem built from this repository and installed into your own Ruby installation + - A system native package containing its own Ruby built using our Omnibus packaging system + +**NOTE:** As an end user, please download the [Chef Infra package](https://downloads.chef.io/chef) for managing systems or [Chef Workstation package](https://downloads.chef.io/chef-workstation) for authoring Chef cookbooks and administering your Chef infrastructure. + +We do not recommend end users install Chef from gems or build from source. The following instructions apply only to those developing the Chef Infra client. + +## Building the Gem + +### Prerequisite + +- git +- C compiler, header files, etc. +- Ruby 2.5 or later +- Bundler gem + +**NOTE:** Chef supports a large number of platforms, and there are many different ways to manage Ruby installs on each of those platforms. We assume you will install Ruby in a way appropriate for your development platform, but do not provide instructions for setting up Ruby. + +### Building / Installing + +Once you have your development environment configured you can clone the Chef repository and install Chef: + +```bash +git clone https://github.com/chef/chef.git +cd chef +bundle install +bundle exec rake install +``` + +## Building the Full System Native Package + +To build Chef as a standalone package, we use the [omnibus](omnibus/README.md) packaging system. + +To build: + +```bash +git clone https://github.com/chef/chef.git +cd chef/omnibus +bundle install +bundle exec omnibus build chef +``` + +The prerequisites necessary to run omnibus itself are not documented in this repository. See the [Omnibus project repository](https://github.com/chef/omnibus) for additional details. |