Code Monkey home page Code Monkey logo

nodebrew-cookbook's Introduction

Nodebrew Cookbook

Build Status

Installs and manages your versions of node.js in chef with nodebrew

Usage

Role based example:

run_list(
  'recipe[nodebrew]'
)

override_attributes(
  :nodebrew => {
    :nodes => [
      { :version => '0.11.5' },
      { :version => '0.10.15', :binary => true }
    ],
    :use => '0.10.15',
    :npm => {
      '0.11.5' => [
        'underscore',
        'coffee-script'
      ],
      '0.10.15' => [
        'underscore',
        '[email protected]',
        { :name => 'bower', :version => '1.1.2', :action => 'install' }
      ]
    }
  }
)

Requirements

  • Chef >= 11.4
  • Platform: ubuntu, debian, fedora, centos and redhat
  • Cookbook: build-essential and git

Installation

Librarian-Chef is a bundler for your Chef cookbooks. To install Librarian-Chef:

cd chef-repo
gem install librarian
librarian-chef init

To reference the Git version:

repo="linyows/nodebrew-cookbook"
latest_release=$(curl -s https://api.github.com/repos/$repo/git/refs/tags \
| ruby -rjson -e '
  j = JSON.parse(STDIN.read);
  puts j.map { |t| t["ref"].split("/").last }.sort.last
')
cat >> Cheffile <<END_OF_CHEFFILE
cookbook 'nodebrew', :git => 'git://github.com/$repo.git', :ref => '$latest_release'
END_OF_CHEFFILE
librarian-chef install

why-run support.

Attributes

nodebrew::default

Key Description Default
repository nodebrew git repository git://github.com/hokaccha/nodebrew.git
ref git ref master
upgrade sync true
root nodebrew root /usr/local/lib/nodebrew
user nodebrew user root

Resources / Providers

  • nodebrew
  • nodebrew_node
  • nodebrew_npm
  • nodebrew_use
  • nodebrew_script

nodebrew

Actions

Action Description Default
install install nodebrew to nodebrew_root yes

Attributes

Attribute Description Default
repository nodebrew git repository git://github.com/hokaccha/nodebrew.git
ref git ref master
upgrade sync true
root nodebrew root $HOME/.nodebrew
user nodebrew user root

Examples

Install nodebrew to custom path

nodebrew '/usr/local/lib/nodebrew'

Install nodebrew for a user

nodebrew do
  ref 'v0.6.3'
  user 'vagrant'
end

nodebrew_node

Actions

Action Description Default
install install node.js yes
uninstall uninstall node.js no

Attributes

Attribute Description Default
version node.js version
binary install by binary false

Examples

Install node.js

nodebrew_node '0.11.5'

Install node.js by binary

nodebrew_node '0.11.5' do
  binary true
end

nodebrew_npm

Actions

Action Description Default
install install package by npm yes
uninstall uninstall package by npm

Attributes

Attribute Description Default
name resource name
package node package name
version package version nil
node_version node version nil
path install path to local nil
package_json install by package.json false

Examples

Install node package

nodebrew_npm 'underscore'

Install node package with version

nodebrew_npm '[email protected]'

Install with option

nodebrew_node 'underscore' do
  version '1.5.1'
  node_version '0.11.5'
  path '/var/www/app'
  package_json true
end

License and Author

MIT License

nodebrew-cookbook's People

Contributors

linyows avatar blufe avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.