RedmineとGitlabの連携

RedmineとGitlabを連携させるためにやったこと。

Gitリポジトリの用意

  1. リポジトリ更新時のユーザー名、パスワード入力を回避するためgit clone等をSSHで実行できるようにする

    • .ssh/configの設定例
      Host gitlab.comm.hoge.co.jp
      User USER_NAME
      HostName gitlab.comm.hoge.co.jp
      TCPKeepAlive yes
      identitiesonly yes
      identityFile ~/.ssh/USER_key #認証キーへのパス
      
  2. gitリポジトリをbareリポジトリとして任意の場所にclone

    user@redmine:~$ mkdir git
    user@redmine:~$ cd git
    user@redmine:~/git$ git clone --bare git@gitlab.comm.hoge.co.jp:fuga.git #HTTPではなく必ずSSHでcloneする
    

Gitリポジトリ自動更新設定

  1. 任意の場所にリポジトリ更新用のスクリプトを用意
    • git-fetch.sh
      #!/bin/sh
      cd /home/user/git/fuga.git
      git fetch origin 'refs/heads/*:refs/heads/*'
      
  2. リポジトリ更新スクリプトを定期実行させるためcronを設定
    user@redmine:~/git$ crontab -e
    ===
    SHELL=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=""
    */30 * * * * sh /home/user/git/git-fetch.sh  #更新頻度はお好みで
    ===
    

Redmineのプロジェクトでリポジトリを登録

  1. プロジェクトの[設定]-[リポジトリ]で「新しいリポジトリ」を選択
  2. リポジトリの設定項目に以下を入力
    • バージョン管理システム:Git
    • 識別子:任意の名前
    • リポジトリのパス:cloneしたリポジトリへのパス
    • ファイルとディレクトリの最新コミットを表示するにチェック

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です