redmineとgithubの連携

 

gituubとredmineの連携ができるようなので実験してみました。

こんな感じの画面がredmine上で出せます。

f:id:katashiyo515:20140330092403j:plain

 

やりたいこと

redmine上でgitを表示

githubにpushしたときにredmineも更新する

f:id:katashiyo515:20140330091845j:plain

 1.push

開発機からGIthubにpush

GitHub

にアカウントと公開鍵を登録して開発環境の準備をします 

 

2.webhookの設定、3.リポジトリ更新設定、4.pull

redmine_github_hook

を使って実現します。

■ミラーリポジトリを作成

Redmine と Git の連携設定 | EasyRamble を参考にリポジトリを作ります

ミラーリポジトリ作成
$ mkdir -p /var/redmine/gitrepo
$ chown ユーザ:グループ /var/redmine/gitrepo
$ cd /var/redmine/gitrepo
$ git clone --mirror githubリポジトリ

RedmineとGithubの連携 - Qiita のredmineの設定を参考に、リポジトリを設定します

設定→リポジトリ→新しいリポジトリ

バージョン管理システム:git
識別子:適当に設定する
URL:/var/redmine/gitrepo/hogehoge.git
ファイルとディレクトリの最新コミットを表示する:チェックを入れる

redmine_github_hookプラグインをいれる

redmine_github_hookプラグインを追加します

必要なgemをインストール
$ vim Gemfile

gem 'json' # これを追加

$ bundle install


プラグインの導入

$ git clone git://github.com/koppen/redmine_github_hook.git ./plugins/redmine_github_hook

 

redmineのリスタート

$ bundle exec thin restart -e production -p 80

管理→プラグインプラグインが追加できていることを確認

f:id:katashiyo515:20140330113450j:plain

githubのwebhook設定
githubでwebhookしたいリポジトリをクリック
Settings→Webhooks & Services→Add webhook
 
Payload URL:[redmine_url]/github_hook?project_id=[identifier]
Payload version:なんとなくjson
 
Add webhookをクリック
 ■鍵の作成

Yakst - Gitのリモート操作を5倍から50倍高速化するには

を参考にsshの鍵を作成します

秘密鍵と公開鍵を作成

$ cd ~/.ssh

ssh-keygen -t rsa -C "your_email@example.com"

公開鍵をgithubに登録 

$ cat ~/.ssh/id_rsa.pub

で出てきた鍵をアカウントのSSH KeysかリポジトリのDeploy keysに登録します

設定終わり。 

 

あとは、開発環境からコミットすれば勝手にredmineと連携してくれます。