LoginSignup
92
92

More than 5 years have passed since last update.

GitLabとRedmineを連携させる

Last updated at Posted at 2013-02-28

GitLabで管理しているgitレポジトリをRedmineに登録したので,やり方をメモ.

TOC

  1. まえおき
  2. GitLab上の権限設定
  3. ミラーレポジトリの作成
  4. Redmine上で登録
  5. Web Hookの設定

まえおき

Redmineにgitレポジトリを登録するときは,localかつbareなレポジトリである必要がある.

GitLabとRedmineを同じサーバで運用して,GitLab(gitolite)が管理している/home/git/repositories/をRedmineに登録すれば良いと思い,試してみたがうまくいかなかった.パーミッションは設定したつもりだが,fatal: Not a git repository: '/home/git/repositories/hoge.git/'と怒られる.出来た人がいたら教えて欲しい.

ここではRedmine用にミラーしたレポジトリを用意して行う方法を記録する.

GitLab上の権限設定

Redmine用にミラーしたレポジトリを作るため,GitLab上のレポジトリ(プロジェクト)をcloneできるよう権限設定を行う.やり方は以下の二通り.

  1. プロジェクトにDeploy Keyを追加する
  2. Redmine用のユーザを作成し,プロジェクトにReporterとして参加させる

今後も幾つかGitLabとRedmineを関係付けたいプロジェクトが出てきそうだったので,オペレーションが楽そうな2を選んだ.cloneできればどっちでも良い.

ミラーレポジトリの作成

例えば以下のようにしてミラーレポジトリを用意する.

sudo -u redmine mkdir -p /home/redmine/git_repositories // ミラーレポジトリを置く場所
cd /home/redmine/git_repositories
sudo -u redmine git clone --mirror git@my-gitlab.com/hoge.git // --mirrorでbareレポジトリをcloneできる

Redmine上で登録

Redmineでプロジェクトを開いて,Settings > Repositories > New repository

field value
SCM git
Main repository true
Identifier 何でも良い気がする
Path to repository /home/redmine/git_repositories/hoge.git/
Path encoding Defaultのまま
Report last co... ご自由に

CreateするとRepositoryというタブが増える.クリックするとしばらく時間がかかった後,レポジトリが見える様になる.

Web Hookの設定

GitLab上でレポジトリが更新されたことをRedmineへ通知し,ミラーを更新する設定を行う.

まずは,Redmineにredmine_github_hookプラグインをインストールする.
GitHubとの連携のためのプラグインだが,GitLabでも使える.
インストール方法はこちらから -> https://github.com/koppen/redmine_github_hook

次に,GitLab上でプロジェクトのHooksタブで以下のHookを追加する.
http://my-redmine.com/github_hook?project_id=<project identifier>

<project identifier>はRedmine上で設定したプロジェクトのIdentifier.登録したレポジトリではなく,プロジェクトのIdentifierであることに注意.

いじょう.

92
92
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
92
92