I was searching for a Issue Tracker. I first wanted a hosted solution, but I changed my mind about it, since I will be the only one to use it. Ok what now? I want something written in Ruby, it has to be open source and free and easy to install. I found Redmine so I thought to give it a try.
Redmine is more than an plain Issue Tracker, but for me the other modules are unimportant at this time. Since I do not want to setup a mysql or postgres server, it is good to know that Redmine can use SQLite3 too.
RVM is a Ruby Version Manager. With RVM you can manage different versions of Ruby and gems. It allows you to create gemsets. A gemset is a collection of gems with a specific version and you can have a Ruby version with different gemsets.
I wanted to use RVM and with Redmine it sounds perfect because Redmine needs some specific versions of gems and cannot run on a Ruby 1.9.x.
For Redmine we will need Ruby version 1.8.7. So after installing RVM we do in a shell
rvm install ruby-1.8.7
Now we have to set this version for this shell session
After it is successfully installed we will create gemset for the Redmine (I use the 1.2.1) intallation and use this with the 1.8.7 version
rvm gemset create redmine_inst rvm ruby-1.8.7@redmine_inst
Now we can install needed gems. This gems will only be installed for this specifig Ruby version.
gem install rails -v 2.3.11 gem install rake -v 0.8.7 gem install i18n -v 0.4.2 gem install sqlite3
The Ruby part should be complete.
Redmine with SQLite3
We have to configure Redmine to use sqlite3. In the config/ directory are some example files. Copy the database.yml.example
cp database.yml.example database.yml
Just edit the new file, remove and update lines as appropreate. For me thats the only contents
production: adapter: sqlite3 database: db/redmine.sqlite3
But maybe you are not ready here. Go to the installation page for E-Mail configuration etc. To generate the database tables and initial configuration data do the following
rake generate_session_store RAILS_ENV=production rake db:migrate RAILS_ENV="production" rake redmine:load_default_data
To test the installation run
ruby script/server webrick -e production
You should be able to access Redmine on http://localhost:3000.
RVM allows you to use a file called .rvmrc in the project directory. This file defines the ruby version you need for this project and rvm can pick it up automatically when you change to this directory and execute it. So the right version will be set and the needed gems will be installed. So when you run the server script the right environment will be available.
The gemset you created redmine_inst can be exported.
rvm gemset export redmine_inst.gems
This will create a file called redmine_inst.gems in your Redmine directory and will include information on the gems you installed. This file could be picked up for the gem installations.
Happy issue tracking!