cookbook 'chruby-build', '~> 1.0.2'
chruby-build (12) Versions 1.0.2 Follow3
Chef cookbook to install chruby and build rubies from source with Google Perftools and LibYAML options.
cookbook 'chruby-build', '~> 1.0.2', :supermarket
knife supermarket install chruby-build
knife supermarket download chruby-build
Chruby Build Chef Cookbook
Chef cookbook to install chruby and build rubies from source with Google Perftools / TCMalloc : Thread-Caching Malloc and LibYAML options.
Requirements
supports
ubuntu >= 12.04
depends
-
ark >= 4.0.0
- Opscode Cookbook ark
version
chef >= 13.4
Installation
From the Community Site
Use the knife command:
$ knife supermarket install chruby-build
With berkshelf
Edit Berksfile
source "https://supermarket.chef.io"
cookbook 'chruby-build', '~> 1.0.2'
Install the cookbooks you specified in the Berksfile and their dependencies:
$ berks install
Attributes
See [attributes/default.rb](attributes/default.rb)
Usage
Rubies attributes
-
id
- required id and must be split by a dash (eg. ruby-2.3.4) -
url
- required ruby source -
checksum
- optional sha256 package checksum -
gems
- optional gems to install -
environment
- optional compilation environment variables
With node attributes
{ "ark": { "prefix_root": "/usr/local/src" }, "chruby_build": { "rubies": [ { "id": "ruby-2.5.3", "url": "https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz", "checksum": "9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c", "gems": ["bundler 1.17.1"], "environment": { "ARCHFLAGS": "-arch x86_64", "CFLAGS": "-g -O2", "CPPFLAGS": "-I/usr/include -I/usr/local/include" } } ] } }
With data bags
Data bag name must be rubies
$ knife data bag create rubies ruby-2.5.3
Edit data bag ruby-2.5.3.json
{ "id": "ruby-2.5.3", "url": "https://cache.ruby-lang.org/pub/ruby/2.5/ruby-2.5.3.tar.gz", "checksum": "9828d03852c37c20fa333a0264f2490f07338576734d910ee3fd538c9520846c", "gems": ["bundler 1.17.1"], "environment": { "ARCHFLAGS": "-arch x86_64", "CFLAGS": "-g -O2", "CPPFLAGS": "-I/usr/include -I/usr/local/include" } }
If you are using knife solo as provisioner, try knife-solo_data_bag.
Data bags have higher precedence.
Recipes
chruby-build::default
This recipe only installs chruby.
Just include chruby-build::default
in your node's run_list
:
{ "name":"my_node", "run_list": [ "recipe[chruby-build::default]" ] }
chruby-build::rubies
This recipe installs chruby and compile rubies from source.
Just include chruby-build::rubies
in your node's run_list
:
{ "name":"my_node", "run_list": [ "recipe[chruby-build::rubies]" ] }
Development
Dependencies
Installation
Ensure the gem dependencies are installed:
$ bundle install $ bundle exec berks install
Running unit tests:
$ bundle exec rspec
Running integration tests:
$ bundle exec kitchen test rubies-data-bags-ubuntu-1404
Different test suites are available:
$ bundle exec kitchen list $ bundle exec kitchen setup default-ubuntu-1404 $ bundle exec kitchen verify default-ubuntu-1404 $ bundle exec kitchen destroy default-ubuntu-1404
Contributing
- Fork the repository on Github
- Create a named feature branch (like
add_component_x
) - Write your change
- Write tests for your change (if applicable)
- Run the tests, ensuring they all pass
- Submit a Pull Request using Github
License
Written by Vincent Durand.
Released under the terms of the MIT License. For further information, please see the file [LICENSE.txt](LICENSE.txt).
Dependent cookbooks
ark >= 4.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
Collaborator Number Metric
1.0.2 failed this metric
Failure: Cookbook has 0 collaborators. A cookbook must have at least 2 collaborators to pass this metric.
Contributing File Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.0.2 failed this metric
FC120: Do not set the name property directly on a resource: chruby-build/recipes/rubies.rb:114
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
1.0.2 passed this metric
Testing File Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.2 failed this metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a CONTRIBUTING.md file
Foodcritic Metric
1.0.2 failed this metric
FC120: Do not set the name property directly on a resource: chruby-build/recipes/rubies.rb:114
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
No Binaries Metric
1.0.2 passed this metric
Testing File Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.2 failed this metric
Run with Foodcritic Version 16.3.0 with tags metadata,correctness ~FC031 ~FC045 and failure tags any
1.0.2 passed this metric
Testing File Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must contain a TESTING.md file
Version Tag Metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number
1.0.2 failed this metric
1.0.2 failed this metric
Failure: To pass this metric, your cookbook metadata must include a source url, the source url must be in the form of https://github.com/user/repo, and your repo must include a tag that matches this cookbook version number