5
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

RedmineとGitLab@Dockerの連携設定

Posted at

概要

前回記事で構築したRedmine+GitLabの環境での、RedmineとGitLabの連携についての内容です。
(https-portal有無は問わず)

使用Dockerイメージ

REPOSITORY TAG
sameersbn/redmine 3.4.4-2
sameersbn/gitlab 10.4.2

連携用bridgeネットワークについて

前回記事で構築した環境では、両コンテナをlocal-linkというネットワークに参加させている。

start-up.sh
docker network create local-link
gitlab/docker-compose.yml,redmine/docker-compose.yml
  :
        networks:
            - local-link
  :
networks:
    local-link:
        external: true

これにより、Redmine <-> GitLab間でコンテナ名でのアクセスが可能となる。
※ 同一のdocker-compose.ymlファイルへ記載した場合は、元々同じネットワーク(デフォルトネットワーク)へ参加している為ネットワーク作成は不要。

事前準備

  • Redmineでtestプロジェクトを作成しておく
  • GitLabでtestプロジェクトを作成し、初回コミットを済ませておく

設定手順

Redmine GitHub Hook プラグインのインストール

# redmineのコンテナ上で作業する
host$ docker exec -it redmine bash
# redmineユーザへ切り替える
root# su redmine
# ホストVolumeのpluginsディレクトリへ移動
redmine$ cd /home/redmine/data/plugins
# redmine_github_hookの配置
redmine$ git clone https://github.com/koppen/redmine_github_hook.git

プラグインインストール後、Redmineを再起動する。

GitLabでredmineユーザ作成

GitLabの管理画面から連携用のユーザredmine(何でもOK)を作成する。

鍵登録

sameersbn/docker-redmineのイメージには予め鍵ペアが用意されている1ので、公開鍵/home/redmine/data/dotfiles/.ssh/id_rsa.pubの内容を、GitLabのredmineユーザ設定User Settings->SSH Keysへ登録する。

id_rsa.pubの内容表示
host$ cat /srv/docker/redmine/redmine/dotfiles/.ssh/id_rsa.pub 
ssh-rsa xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

User Settings->SSH Keys 画面
Screenshot from 2018-02-09 00-28-08.png

Redmineコンテナ上へのbareリポジトリ準備

Redmineコンテナから見える場所へbareリポジトリを用意する。

# remineコンテナへ入る
host$ docker exec -it redmine bash
# redmineユーザへ切り替える
root# su redmine
# リポジトリ配置用ディレクトリを作成する
redmine$ mkdir /home/redmine/data/git
# 事前準備で用意したtestリポジトリをcloneする
redmine$ cd /home/redmine/data/git
redmine$ git clone --bare git@gitlab:test/test.git

Redmineのリポジトリ設定

事前準備で用意したRedmineのtestプロジェクトへリポジトリを設定する。

Screenshot from 2018-02-09 00-41-35.png

GitLabでフック設定

  • GitLabの プロジェクト -> Settings -> Integrations -> Project services -> Redmine画面で下記情報を入力する。
項目 入力内容
Active チェック
Trigger Pushへチェック
Project url http://redmine/projects/:test
Issues url http://redmine/issues/:id
New Issues url http://redmine/projects/:test/issues/new

Screenshot from 2018-02-09 01-10-49.png

  • GitLabの プロジェクト -> Settings -> Integrations -> URLへ**http://redmine/github_hook?project_id=test**と入力しAdd webhookボタンを押下する。

以上で、連携設定完了。


  1. 念の為、Redmineコンテナの/sbin/entrypoint.shトリガで、鍵ペアがなければ生成する処理となっている事は確認。初回ホストVolume生成時に生成されているので、そのまま使用しても問題なし。

5
16
0

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
5
16

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?