README.md in negroku-1.1.2 vs README.md in negroku-1.1.3

- old
+ new

@@ -1,29 +1,131 @@ -# Negroku +Negroku +======= -TODO: Write a gem description +Negroku is an opinionated collection of recipes for capistrano. -## Installation +The goal is to be able to deploy **ruby on rails applications** and **static websites** without the hassle of configure and define all the stuff involved in an application deployment. -Add this line to your application's Gemfile: +All the server configurations pre-defined in the configuration files generated by negroku are targeted oto this generic [configuration guide](https://github.com/platanus/guides/tree/master/deployment). - gem 'negroku' +Installation +------------ -And then execute: +Just install negroku as a global gem. - $ bundle + gem install negroku -Or install it yourself as: +## Getting started - $ gem install negroku +1. Bootpstrapp your app (behind the scene it runs `capify .` plus some customizations) -## Usage + It will add this files to your proyect, this is the same structure that capistrano expect when using multistage extensions -TODO: Write usage instructions here + ``` + project_root + |--- Capfile # Capistrano load file + +--- config + |--- deploy.rb # Global setting for all environments + +--- deploy + |--- production.rb # Specific settings for production server + +--- staging.rb # Specific settings for staging server + ``` -## Contributing + It will also add to your Gemfile two gems -1. Fork it -2. Create your feature branch (`git checkout -b my-new-feature`) -3. Commit your changes (`git commit -am 'Add some feature'`) -4. Push to the branch (`git push origin my-new-feature`) -5. Create new Pull Request + ```ruby + group :assets do + gem 'therubyracer', :platforms => :ruby + end + + group :production do + gem 'unicron' + end + ``` + +1. Configure your specific settings in the files created above + +1. Prepare your server for your application with `cap deploy:setup` task + +1. Deploy you application with `cap deploy` task + +### Type of applications supported + +You can bootstrap with negroku two type of applications, ruby on rails applications with native capistrano support and static web sites with specific recipes. + + + negroku app create <appname> + + Follow the in-screen instructions and questions. + +2. + +#Static websites + +The CLI +------- + +Negroku also provides a simple CLI that helps to initialize the deployment of your project and that wraps some tasks from its recipes collection. + +### App task + +### Env task + +### Config task + +Included recipes +---------------- + +To achieve this goal negroku provides a set of pre-configured capistrano recipes and deploy configuration files in order to streamline the process to deploy a new application. + +### nginx tasks + +``` +cap nginx:reload # reload Nginx. +cap nginx:restart # restart Nginx. +cap nginx:setup # Setup nginx configuration for this applic... +cap nginx:start # start Nginx. +cap nginx:stop # stop Nginx. +cap nginx:upload_ssl_certificates # Upload SSL certificates for this applicat... +``` + +### unicorn tasks + +``` +cap unicorn:add_worker # Add a new worker +cap unicorn:duplicate # Duplicate Unicorn +cap unicorn:reload # Reload Unicorn +cap unicorn:remove_worker # Remove amount of workers +cap unicorn:restart # Restart Unicorn +cap unicorn:setup # Setup unicorn configuration for this appl... +cap unicorn:shutdown # Immediately shutdown Unicorn +cap unicorn:start # Start Unicorn master process +cap unicorn:stop # Stop Unicorn +``` + +### logging tasks + +``` +cap log:app # Stream (tail) the application's productio... +cap log:nginx_access # Stream (tail) the nginx access log. +cap log:nginx_error # Stream (tail) the nginx error log. +cap log:unicorn_error # Stream (tail) the unicorn error log. +``` + +### rbenv task + +``` +cap rbenv:vars:add # Add rbenv vars +cap rbenv:vars:show # Show current rbenv vars +cap rbenv:vars:symlink # Symlink rbenv-vars file into the current ... +``` + + +Customizing the recipes +----------------------- + +Aside of prodefine some ways of doing the deployments, negroku is very flexible. This flexibility is inherit from capistrano where you can extend negroku with your recipes, overide existing ones, and modify every configuration you want. + + + + +