ラージビッグバナー(970x90)

Linux

GitLabとRedmineが別サーバの場合の連携設定Part2

投稿日:

ビッグバナー(piglog)728px

タイトルの通り、GitLabとRedmineが別のサーバで構築されている場合に、リポジトリを連携させるための設定Part2です。

以下のエントリで説明している内容が済んでいる前提で進めますので、済んでない方はまずは以下のエントリの内容を実施してください。

GitLabとRedmineが別サーバの場合の連携設定Part1

 

GitLabのリポジトリとRedmineを連携する

↑のエントリで1~3が完了しているので、以下の4以降を実施していきます。項目の[]は設定を行うサーバを指します。

  1. [Redmine]連携用プラグインインストール
  2. [Redmine]連携用ユーザ作成・リポジトリクローン先ディレクトリ作成
  3. [GitLab/Redmine]SSH鍵認証ログイン設定(git push用)
  4. [Redmine]リポジトリのクローン
  5. [Redmine(WebUI)]リポジトリ設定
  6. [Gitlab]フックスクリプト作成
  7. [Gitlab(WebUI)]Webhook作成
  8. [Redmine(WebUI)]リポジトリが連携されているか確認

環境はCentOS7.4、Selinuxは止めちゃってます。firewalldは必要に応じて開けましょう。

[Redmine]リポジトリのクローン

Redmineサーバで実施します。

GitLabのリポジトリをRedmineサーバのローカルにクローンします。作成した連携用のユーザで実行します。

※GitLabのリポジトリURLは、WebUIで確認ができます
※ローカルディレクトリは重複する場合は指定しましょう(指定する場合は以下)

※ぴぐろぐの環境ではhttpでしか接続できなかったため、httpでクローンしています。SSHの場合は以下ですが、その場合はGitlabのWebUIからSSHキーを登録する必要があります。(通常のSSH鍵認証で接続できればOKと思われる)

 

[Redmine]リポジトリ設定

RedmineのWebUIから実施ます。

対象プロジェクト > 設定 > リポジトリ > 新しいリポジトリ にて、以下のように設定します。

バージョン管理システム Git
メイン 他に無い場合はチェック
識別子 任意(リポジトリ名と合わせるのがわかりやすい)
パス クローンしたリポジトリのディレクトリ(↑の例だと、/var/gitlab/repos/Enache.git)
エンコーディング 任意(デフォルトでよい)
ファイルとディレクトリの最新コミットを表示 チェック

 

[Gitlab]フックスクリプト作成

GitLabサーバでpushを受けたら、Redmineのローカルにクローンしたリポジトリにpushするスクリプトを用意します。

[Gitlab]Webhook作成

GitLabのWebUIから設定します。

GitLabリポジトリにpushしたタイミングで、Redmineリポジトリがリアルタイムで更新されるようします。(これをしないとRedmineのWebUIでリポジトリのページにアクセスしないとredmineのチケット側で反映されない)

ログイン > 上部メニューのシステムフック から、以下のように設定します。

URL http://192.168.2.90/github_hook?project_id={プロジェクトID}

プッシュもタグプッシュも(必要に応じて)チェックをいれておけばよいです。SSL検証も必要ならチェックすればよいですが、まぁいらないでしょう。

プロジェクトIDは、Redmineへリポジトリ設定をした際の識別子 を指定します。

例)http://192.168.2.90/github_hook?project_id=Enache

[Redmine WebUI]リポジトリが表示されるか確認

RedmineのWebUIから確認します。

対象プロジェクト > リポジトリ から確認して、リポジトリが表示されていることを確認します。正常に表示されていたら、GitLabにプッシュしてみましょう。プッシュした内容がredmineに連携されていれば成功です。

 

まとめ

Git の概念にもとづいて考えるとRedmineでローカルのリポジトリしか連携できないのはわかる。けど、連携自体はどう考えても必要だし、このやりかただと、連携したいリポジトリごとにこの手順を実施する必要があって面倒。。。Redmineのアップデートでリモートのリポジトリを連携(参照)できるように改善してほしい。。。と思いましたとさ。

↓↓↓ 持っていると便利な一冊。

北山晋吾 インプレス 2018年01月30日
売り上げランキング : 12061

by ヨメレバ

 

レクタングル (大)

レクタングル (大)

リンクユニット(レスポンシブ)

-Linux
-,

Copyright© ぴぐろぐ , 2018 All Rights Reserved.