Installs and manages your versions of Ruby and Gems in Chef with rbenv and ruby_build
- Chef 10
- Centos / Redhat / Fedora / Ubuntu / Debian
Add a dependency on rbenv to your cookbook's metadata.rb
depends 'rbenv'
To install rbenv and ruby_build; Include each recipe in one of your cookbook's recipes
include_recipe "rbenv::default"
include_recipe "rbenv::ruby_build"
And now to install a Ruby use the rbenv_ruby
LWRP
rbenv_ruby "1.9.3-p194"
If you'd like a specific Ruby installed by rbenv to include a Gem, say bundler, use the rbenv_gem
LWRP
rbenv_gem "bundler" do
ruby_version "1.9.3-p194"
end
Be sure to include a value for the ruby_version
attribute so the gem is installed for the correct Ruby
rbenv[:group_users]
- Array of users belonging to the rbenv grouprbenv[:git_repository]
- Git url of the rbenv repository to clonerbenv[:git_revision]
- Revision of the rbenv repository to checkoutrbenv[:install_prefix]
- Path prefix rbenv will be installed into
ruby_build[:git_repository]
- Git url of the ruby_build repository to cloneruby_build[:git_revision]
- Revision of the ruby_build repository to checkoutruby_build[:prefix]
- Path prefix where ruby_build will be installed to
Configures a node with a system wide rbenv accessible by users in the rbenv group
Installs ruby_build to a node which enables the rbenv_ruby
LWRP to install Rubies to the node
Installs an rbenv Ohai plugin onto the node to automatically populate attributes about the rbenv installation
Install specified version of Ruby to be managed by rbenv
Action | Description | Default |
---|---|---|
install | Install the version of Ruby | Yes |
Attribute | Description | Default |
---|---|---|
ruby_version | the ruby version and patch level you wish to install | name |
force | install even if this version is already present (reinstall) | false |
global | set this ruby version as the global version | false |
rbenv_ruby "1.9.2-p290"
rbenv_ruby "Ruby 1.9.3" do
ruby_version "1.9.3-p0"
force true
end
Install specified RubyGem for the specified ruby_version managed by rbenv
Action | Description | Default |
---|---|---|
install | Install the gem | Yes |
upgrade | Upgrade the gem to the given version | |
remove | Remove the gem | |
purge | Purge the gem and configuration files |
Attribute | Description | Default |
---|---|---|
package_name | Name of given to modify | name |
ruby_version | Ruby of version the gem belongs to | |
version | Version of the gem to modify | |
source | Specified if you have a local .gem file to install | |
gem_binary | Override for path to gem command | |
response_file | ||
options | Additional options to the underlying gem command |
rbenv_gem "bundler" do
ruby_version "1.9.2-p290"
end
-
Install the prerequisite gems
$ bundle install
-
Increment the version number in the metadata.rb file
-
Run the Thor release task to create a tag and push to the community site
$ bundle exec thor release
- Jamie Winsor (jamie@vialstudios.com)