cookbook 'dev_env', '= 0.1.1'
dev_env (5) Versions 0.1.1 Follow1
Installs/Configures dev_env
cookbook 'dev_env', '= 0.1.1', :supermarket
knife supermarket install dev_env
knife supermarket download dev_env
dev_env Cookbook
A simple Cookbook to setup development environment. Here it takes care the usual procedures to setup a local development which are:
- Install NIX packages.
- Setup your projects.
- Git checkout the project.
- Run post bash commands to complete the setup.
Supported Platforms
Tested in Ubuntu.
Attributes
Main Attributes
["dev_env"]["user"] (String) = User to that will be assigned to own the
wrap-ssh4git.sh
file. This file is required to ignore the host checks when runninggit clone/checkout
. Default value isnil
.["dev_env"]["packages"] (Array) = Array of Hash that contains list of NIX packages to be installed.
package
in below list will refer to the Hash object in this Array. Default value isnil
.["dev_env"]["apps"] (Array) = Array of Hash that contains list of project/app to be installed.
app
in below list will refer to the Hash object in this Array. Default value isnil
.
Packages Attributes (package)
- package["name"] (String) = Name of NIX package you wish to install. Default value is
nil
.
Application Attributes (app)
app["checkout"] (String) = Project checkout path. i.e. if
/home/user/project
is your checkout path, it will rungit clone {app["git_repo"]} /home/user/project
. Default value isnil
.app["git_repo"] (String) = Git repository URL. Default value is
nil
.app["revision"] (String) = Git revision or branch to be used for checkout. Default value is
nil
.app["git_action"] (String) = Git action. Possible values are either
checkout
orsync
. Default value isnil
.app["timeout"] (Integer) = Timeout (in seconds) set for
git
execution. Default value is600
.app["retries"] (Integer) = Number of retries if the
git
execution fails. Default value is5
.app["git_ignore_failure"] (Boolean) = Indicates if you want to ignore the error if the
git
execution fails. Default value isfalse
.app["user"] (String) = User that will be assigned for the project permission. Default value is
nil
.app["post_commands"] (String) = Bash command to run from the checkout path after the
git
execution completed. Default value isnil
.
Usage
dev_env::pre_process
dev_env::pre_process
recipe. This is to install NIX packages.
{ "run_list": [ "recipe[dev_env::pre_process]" ], "json": { dev_env: { packages: [ { name: "curl" }, { name: "apache2" }, ] } } }
dev_env::default
dev_env::default
recipe. This is to setup projects.
{ "run_list": [ "recipe[dev_env::default]" ], "json": { dev_env: { apps: [ { checkout_path: "/vagrant/home/projects/sample_app", git_repo: "git@github.com:railstutorial/sample_app.git", revision: "master", git_action: "checkout", user: "vagrant", post_commands: <<-EOH gem install bundler rake bundle install rake db:seed EOH }, { ... } ] } } }
License and Authors
Author:: Taufek Johar (taufek@gmail.com)
Dependent cookbooks
git >= 0.0.0 |
Contingent cookbooks
There are no cookbooks that are contingent upon this one.
0.1.0
Initial release of dev_env_cookbook
Foodcritic Metric
0.1.1 failed this metric
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/attributes/default.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/attributes/default.rb:8
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/attributes/default.rb:22
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/default.rb:10
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/pre_process.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/pre_process.rb:6
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/pre_process.rb:12
FC022: Resource condition within loop may not behave as expected: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/default.rb:11
0.1.1 failed this metric
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/attributes/default.rb:8
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/attributes/default.rb:22
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/default.rb:10
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/pre_process.rb:1
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/pre_process.rb:6
FC001: Use strings in preference to symbols to access node attributes: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/pre_process.rb:12
FC022: Resource condition within loop may not behave as expected: /tmp/cook/134f799d97ecd89b4599e1ea/dev_env/recipes/default.rb:11