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.

Using RVM

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.

Redmine Ruby

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

rvm ruby-1.8.7

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.

.rvmrc

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.

Gemset export

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.

Here is a gist for the files

Happy issue tracking!

  1. hellectronic posted this