summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorTim Smith <tsmith@chef.io>2019-04-08 20:01:49 -0700
committerTim Smith <tsmith@chef.io>2019-04-23 16:52:14 -0700
commit72ab794d1d3f40fa03c899b7756c73b4cfc4d782 (patch)
tree9fc2360fa95e099319ebd83ff793c6840f685562 /docs
parentc62c721689e5abc55478c011ec27cf9a20dd2907 (diff)
downloadchef-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.md46
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.