hogehoge foobar Blog Style Beta

Web,Mac,Linux,JavaScript,Perl,PHP,RegExp,Git,Vim,Redmineなど技術的なことのメモや、ちょっと便利そうなものの紹介をしています。

RedmineとGitの連携

前回の記事 Ubuntu10.4でRedmine

以前にUbuntu10.4にRedmineをインストールしましたが、Gitとの連携が出来ていなかったので、やってみました。
環境的には、RedmineとGitはインストール済みの状態から始めています。OSは前と同じでUbuntu10.4です。

今回は、id:ntakuさんのブログがとても参考になりました。とても丁寧でわかりやすく解説されています。

プログラミングノート - RedmineとGitで作るプロジェクト開発環境
http://d.hatena.ne.jp/ntaku/20090526/1243327903

では、さっそくやってみます。

Redmineから参照するGirリポジトリの作成

Redmineから参照するためのGitリポジトリを作成します。
今回は、/varにgitディレクトリを作成して、そこ以下に作成してみました。

$ mkdir -p /var/git/RegExpChecker.js
$ cd /var/git/RegExpChecker.js
$ git --bare init
Initialized empty Git repository in /var/git/RegExpChecker.js/.git/

ワーク用ディレクトリからRedmineリポジトリにpush

次にワーク用のディレクトリから、さっき作成したRedmine用のリポジトリに対して、pushします。
新規作成でも良かったのですが、Redmine上でどんな感じでリポジトリが見れるかてっとり早く確認したかったので、今回はgithubからクローンしてきました。

$ cd ^
$ git clone http://github.com/mrgoofy33/RegExpChecker.js.git
Initialized empty Git repository in /var/git/RegExpChecker.js/.git/
remote: Counting objects: 18, done.
remote: Compressing objects: 100% (14/14), done.
remote: Total 18 (delta 3), reused 0 (delta 0)
Unpacking objects: 100% (18/18), done.
$ cd RegExpChecker.js
$ git remote add local /var/git/RegExpChecker.js
$ git push local master
Everything up-to-date

Redmineでの設定

ここまでで、Redmine用のリポジトリが出来たので、今度はRedmine側の設定をします。
管理者(admin)でRedmineにログインして、「 プロジェクト選択 > 設定 > リポジトリ 」 から上記で作成したリポジトリ(/var/git/RegExpChecker.js)を指定します。

SCM: Git
Path to .git directory: /var/git/RegExpChecker.js

RedmineのGIT_BINのパス修正

本当はこれまでの部分だけで上手く動作するはずなのですが、ブラウザで確認してもリポジトリの中身が確認できません。

ntakuさんのブログを参考にredmineの「lib/redmine/scm/adapters/git_adapter.rb」に記述されている「GIT_BIN」のパスを環境に合わせて修正します。

対象ファイル
/var/www/html/redmine/lib/redmine/scm/adapters/git_adapter.rb

修正箇所
# Git executable name
# GIT_BIN = "git"
GIT_BIN = "/usr/bin/git"

これで、Redmineリポジトリを確認することが出来ました。

やってみての感想

RedmineとGitの連携ってなんとなく難しそうな気がしていましたが、いざやってみるとあっけないくらいに簡単でした。
これだけど、Redmine上にコミットログ的なものも表示されるし、すごく良いです。

ntakuさんに感謝です。