Help us understand the problem. What is going on with this article?

GitLabとRedmineを連携させる

More than 5 years have passed since last update.

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であることに注意.

いじょう.

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
Comments
No comments
Sign up for free and join this conversation.
If you already have a Qiita account
Why do not you register as a user and use Qiita more conveniently?
You need to log in to use this function. Qiita can be used more conveniently after logging in.
You seem to be reading articles frequently this month. Qiita can be used more conveniently after logging in.
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
ユーザーは見つかりませんでした