Commit e7097773d0f78999a48dcafc31fbe957908156e6
1 parent
b6dee2dd
Exists in
colab
and in
2 other branches
Add CONTRIBUTING and HACKING
Showing
2 changed files
with
90 additions
and
0 deletions
Show diff stats
| @@ -0,0 +1,84 @@ | @@ -0,0 +1,84 @@ | ||
| 1 | +## Development | ||
| 2 | + | ||
| 3 | +### System dependencies (Ubuntu 14.04 package names) | ||
| 4 | + - build-essential | ||
| 5 | + - curl | ||
| 6 | + - postgresql-server-dev-9.3 | ||
| 7 | + | ||
| 8 | +### Unpacked dependecies | ||
| 9 | + - PhantomJS >= 1.9.2 (http://phantomjs.org/) | ||
| 10 | + - *NOTE:* Just create sym links for that, for example: | ||
| 11 | + | ||
| 12 | + ```bash | ||
| 13 | + cd /usr/local/share | ||
| 14 | + wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-1.9.7-linux-x86_64.tar.bz2 | ||
| 15 | + tar xjf phantomjs-1.9.7-linux-x86_64.tar.bz2 | ||
| 16 | + sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/share/phantomjs | ||
| 17 | + sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/local/bin/phantomjs | ||
| 18 | + sudo ln -s /usr/local/share/phantomjs-1.9.7-linux-x86_64/bin/phantomjs /usr/bin/phantomjs | ||
| 19 | + ``` | ||
| 20 | + | ||
| 21 | +### Ruby version | ||
| 22 | + | ||
| 23 | + `2.3.0` | ||
| 24 | + | ||
| 25 | + You can easily install it through the Ruby Version Manager - RVM. Instructions on how to do it can be found at http://rvm.io | ||
| 26 | + | ||
| 27 | + *NOTE:* If you are using the gnome-shell, or any derivate like terminator, you have to mark on your profile the option to use a "login bash". | ||
| 28 | + | ||
| 29 | + | ||
| 30 | +### Environment setup | ||
| 31 | + | ||
| 32 | +- Gem installation: | ||
| 33 | + - `bundle install` | ||
| 34 | + | ||
| 35 | +- Database creation: | ||
| 36 | + - `rake db:create` | ||
| 37 | + | ||
| 38 | +- Database initialization (the seeds script will need the kalibro configurations service running): | ||
| 39 | + - `rake db:setup` | ||
| 40 | + | ||
| 41 | +- Alternatively you can just run the setup script (it will also need the kalibro configurations service running): | ||
| 42 | + - `bin/setup` | ||
| 43 | + | ||
| 44 | +### How to run the test suite | ||
| 45 | + | ||
| 46 | + `rake` | ||
| 47 | + | ||
| 48 | +### Services (job queues, cache servers, search engines, etc.) | ||
| 49 | + | ||
| 50 | +- _Kalibro Processor_ - [version 1.2.1](https://github.com/mezuro/kalibro_processor/archive/v1.2.1.zip). | ||
| 51 | + You can find the latest changes directly on the [repository](https://github.com/mezuro/kalibro_processor). | ||
| 52 | + By default Mezuro will expect it to be running on port 8082 at localhost. | ||
| 53 | + In order to run it as expected, run on two different terminal instances: | ||
| 54 | + | ||
| 55 | + ```bash | ||
| 56 | + RAILS_ENV=local rails s -p 8082 | ||
| 57 | + RAILS_ENV=local rake jobs:work | ||
| 58 | + ``` | ||
| 59 | + | ||
| 60 | +- _Kalibro Configurations_ - [version 2.1.0](https://github.com/mezuro/kalibro_configurations/archive/v2.1.0.zip). | ||
| 61 | + You can find the latest changes directly on the [repository](https://github.com/mezuro/kalibro_configurations). | ||
| 62 | + By default Mezuro will expect it to be running on port 8083 at localhost. | ||
| 63 | + In order to run it as expected, run: | ||
| 64 | + | ||
| 65 | + ```bash | ||
| 66 | + rails s -p 8083 | ||
| 67 | + ``` | ||
| 68 | + | ||
| 69 | +### Deployment instructions | ||
| 70 | + | ||
| 71 | + Deployment is made through Capistrano (https://github.com/capistrano/capistrano) | ||
| 72 | + | ||
| 73 | + `cap production deploy` | ||
| 74 | + | ||
| 75 | + In order to do this, you must have the password. | ||
| 76 | + | ||
| 77 | + Otherwise, you can also modify the deployment file at <tt>config/deploy.rb</tt>. | ||
| 78 | + | ||
| 79 | +#### First Deploy | ||
| 80 | + | ||
| 81 | + 1. Make sure that the deployment file <tt>config/deploy.rb</tt> is correctly configured to the installation server; | ||
| 82 | + 2. Also, make sure that the installation server already has rvm installed; | ||
| 83 | + 3. <tt>cap deploy:setup</tt> will install the ruby correct ruby version, the gemset and all the directories tree; | ||
| 84 | + 4. <tt>cap deploy:migrations</tt> deploys the code and run all the migrations |