How to integrate Redmine with Git?

Redmine built through Ruby on Rails has been impressive free and open source web-based project management. I have been Trac quite for some time and find Redmine very similar.

One of my company colleague was finding difficulty integrating Redmine with Git. I decided to help him from the scratch and it went flawless.

I had a VMware Workstation running on my Inspiron. I installed CentOS 6.3 but it should work for CentOS 6.2 too. I followed these below steps:

Installing Pre-requisite Packages

# yum install openssl-devel zlib-devel gcc gcc-c++ automake autoconf readline-devel curl-devel expat-devel gettext-devel patch mysql mysql-server mysql-devel httpd httpd-devel apr-devel apr-util-devel libtool apr

Install Ruby on Rails

Download Ruby source code from http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz

#wget http://ftp.ruby-lang.org/pub/ruby/1.9/ruby-1.9.3-p194.tar.gz

# tar xzvf ruby-1.9.3-p194.tar.gz# cd ruby-1.9.3-p194

# ./configure –enable-shared

# make

# make install

# ruby –v

ruby 1.8.7 (2009-12-24 patchlevel 248) [x86_64-linux], MBARI 0x6770, Ruby Enterprise Edition 2010.01

Install Ruby Gems

wget http://production.cf.rubygems.org/rubygems/rubygems-1.8.24.tgz

# tar xvzf rubygems-1.8.24.tgz

# cd rubygems-1.8.24

# ruby setup.rb

# gem -v

1.8.24

# gem install rubygems-update# update_rubygems

Install Rake

# gem install rake

Install Rails

# gem install rails

Install Passenger

#gem install passenger

Install Redmine

Download the redmine software throughhttp://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz

cd /usr/local/share

# wget http://rubyforge.org/frs/download.php/76259/redmine-2.0.3.tar.gz

# tar xzvf redmine-2.0.3.tar.gz

# cd redmine-2.0.3

# ln -s /usr/local/share/redmine-2.0.3/public /home/code/public_html/redmine

Configure MySQL

Create the Redmine MySQL database:

# mysql -u root -p

mysql> create database redmine character set utf8;

mysql> create user ‘redmine’@’localhost’ identified by ‘Pass123’;mysql> grant all privileges on redmine.* to ‘redmine’@’Pass123’;

Configure database.yml:

# cd /usr/local/share/redmine-2.0.3

# vi config/database.yml

production: adapter: mysql database: redmine host: localhost username: redmine password: my_password

Generate a session store secret:

# gem install -v=0.4.2 i18n

# gem install -v=0.8.3 rake

# gem install -v=1.0.1 rack

# rake generate_session_store

While you run the last command(shown above) you might encounter error messages related to rmagick

We can skip ImageMagick completely and execute the following command:

# bundle install –without development test rmagick

Setup permission:

# chown -R apache:apache /usr/local/share/redmine-2.0.3

# find /usr/local/share/redmine-2.0.3 -type d -exec chmod 755 {} \;

# find /usr/local/share/redmine-2.0.3 -type f -exec chmod 644 {} \;

Configuring Virtual Host

Your apache configuration for virtualhost should look like this:

ServerName codebinder.comServerAlias www.codebinder.comRailsBaseURI /RailsEnv productionDocumentRoot /home/code/public_html/redmine/public<Directory /home/code/public_html/redmine/public>

Options -MultiViews

</Directory>

Open http://codebinder.com and you will be able to see the redmine page successfully.

Installing Git

# yum install git git-core

Redmine User Guide

Open http://codebinder.com and you will see this page:

For the first time, admin/admin are the credentials.

You will find redmine default page. Click on Administration.

Click on Settings option.

Choose Repositories.

If you have subversion or Darcs or Mercurial or CVS or Git, you will find path enabled.

Since Git is installed on linux machine, the path /usr/bin/git will get displayed.

How to Create a New Project?

Click on New Project.

Let’s create a new project as shown below:

Click on Create and Continue once you entered all the needed entries.

You will be able to see foo project information by clicking on overview tab.

We are going to import git repository for this project.

Under Settings > Repositories, click on New repository as shown above slide.

A Contractor can create a repository called “foo” as shown below:

So we have a git repository created at /home/code/gitrepos/foo/.git which we need to include in the redmine page as shown below.

Hence, you see that Git repository has been created and integrated successfully with Redmine.

Hope I have put all the steps very clearly.

2 thoughts on “How to integrate Redmine with Git?

  1. This website is amazing. I will tell about it to my friends and anybody that could be interested in this subject. Great work guys!

Leave a Reply

Your email address will not be published. Required fields are marked *