GitlabとRedmineの連携設定その1の続編記事です。ここでは主にGitlabの連携設定とRedmainでの連携確認を記載しています。Redmine側の連携設定が済んでいる前提の内容となっていますので事前に連携設定その1を参照しておいてください。
当記事は以下の過去記事と関連があります。
連携対象とするRedmineプロジェクトはその1で作成したプロジェクトです。当記事内で設定するのは「GitLabプロジェクトの初期設定」で作成したGitlabプロジェクトです。
GitlabとRedmineはDockerコンテナ上に存在し両コンテナは同一のネットワークに参加している(通信ができる)ことが前提になります。
目次
1.GitLab側Redmine連携設定
Gitlabに管理者でログインしRedmieとの連携を設定します。
(1)ServiceTemplate設定
Redmine連携用のテンプレート設定を管理画面から設定します。
①rootでログイン後、[管理]→[ServiceTemplate](右上リスト)を選択
②下部にある「Redmine」を選択
③修正箇所
ホスト名に「jwilder/nginx-proxy」でリバースプロキシされるFQDNを指定します。
- Activeにチェック
- Project url:http://redmine.hoge3.com/projects/:project_id
- issues url : http://redmine.hoge3.com/issues/:id
- New issue url:http://redmine.hoge3.com/projects/:project_id/issues/new
設定後「保存」ボタンをクリックします。
(2)プロジェクト毎のRedmine設定
上記で設定したテンプレートを基にプロジェクトのRedmine連携設定を行います。該当プロジェクトの[設定]→[integrations]から画面下部にある「Redmine」(Redmine issue tracker)をクリックします。
下記画面でテンプレートで設定した「:projectid」をRemineの該当プロジェクト「vbacom」に変更します。
変更後、「変更を保存」ボタンをクリックします。
2.GitLabのWebHook設定
(1)WebHook登録
該当プロジェクトの[設定]→[integrations]を選択します。下記画面でRedmine側github_hookプラグインへのURLを指定します。ここでは、ホストをコンテナ名+ポートの「gitlredm_redmine_1:3000」にパラメータの「project_id」にはgitlabRedmineのプロジェクトID「vbacom」を指定しています。
http://gitlredm_redmine_1:3000/github_hook?project_id=vbacom
設定後、画面下部の「webHookを追加」ボタンをクリックします。
(2)WebHooks設定確認
①webHookが追加されると「webHookを追加」ボタンの下に作成したWebhooks(1)の
情報が表示されます
②この右側「テスト」ボタンをクリックしてwebhookの動作確認テストを実施します。
下記画面が表示されればwebHookの設定は成功です。
3.GitLab-Redmine連携確認
(1)Redmineでチケット追加
Redmineにログインし以下の様にチケットを登録します。
(2)チケット内容の対応とGitlabへのPush
①windowsクライアントで上記タスク内容に対応したソースコードの修正を行います。修正後のComitt時に下記Redmine連携用の規約でコメントを追記します。
- #チケット番号:今回のチケット番号( #15)
- @時間h分m :今回作業時間 (0h30m)
②コミット実施後に表示される確認画面で左下の「プッシュ」ボタンをクリックします。
これでリポジトリに修正したソースコードとコミット時のコメントが反映されました。
(3)Gitlabリポジトリ確認
リポジトリのコミット履歴一覧を確認するとコミット時のコメント#15が確認できます。
#15のリンクを辿ります。
4.連携先Redmineでの確認
(1)Redmineチケット確認
表示されたチケットを確認すると、以下の連携が確認できます。
- 作業時間にコミット時に設定した「@0h30m」の0.5時間が追加されている
- 「リビジョン d3cd9681」にリポジトリのリビジョン確認画面へのリンクが追加されている
- 「差分」にリポジトリの差分確認画面へのリンクが追加されている
(2)Redmineリポジトリ確認
Redmineでリポジトリ画面を確認すると以下の通りGitlabへのPushが反映された
最新の状態になっていることがわかります。
Gitlabへのpush→Gitlabでwebhookが動作→Remineでgithub_hookプラグインが動作→ベアリポジトリ更新と連動した結果です。
5.参考にさせて頂いたサイト
GitLabとRedmineを連携してみるの巻(アルパカDiary Pro様)
(改訂版) Docker でオフィシャルな GitLab イメージと Redmine イメージのコンテナを連携させる
ありがとうございます。