8
23

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.

Windows環境にGitBucketを建ててRedmineと連携する

Last updated at Posted at 2017-10-26

環境

GitBucket稼働環境:Windows Server 2008 standard
GitBucketバージョン:4.18
Redmine稼働環境:Windows server 2008 R2 Enterprise
Redmineバージョン:2.5.2-2(3年くらい前にたてたものをそのまま使用)

いきさつ

Gitを個人的にローカルでちょろちょろしたり
個人的に作ったものをBitBucketとかにあげたりはしているものの
会社ではGitでバージョン管理をしているチームがなさそうなので
ちょうど今月から始まるプロジェクトでは試しにGitを使ってみよう!
ということでGitBucketを社内に建てることにしました。
チケット管理にも連動させてトレーサビリティをとれるようにしよう!
というのが最終目標です。

GitBucketをたてる

インストール

GitBucket自体はここからダウンロードして、
下記コマンドをうつだけで使用可能。
TomcatなどのApサーバーいらずで、とっても簡単ですね!
(javaは1.8.0_152をインストール済)

java -jar gitbucket.war

ちなみに、私の場合はポートの指定とGitBucketホームディレクトリのオプションを
つけています。

java -jar gitbucket.war --port=8100 --gitbucket.home=C:\work\gitbucket

こうすると、

http://[gitbucket-server-name]:8100/  

でアクセスでGitBucketが起動します。
また、指定したホームディレクトリ下にplugins等を配置したりすることもできます。

ユーザー・リポジトリの作成など

これについてはきっと直感的にわかるのでカッツ・アイ!

Redmine側の設定

redmine_github_hookプラグインのインストール

プラグインの配置

私の場合、gemではなく、当プラグインのgithubからクローン(またはzip)を取得してpluginsディレクトリに置きました。
取得したプラグインを下記に配置します。(zipで取得した場合には適宜フォルダ名をリネームします。)

C:\Bitnami\redmine-2.5.2-2\apps\redmine\htdocs\plugins\redmine_github_hook

gitにパスを通す

まだgitにパスが通っていない環境の場合は、redmineのディレクトリ下にあるgitのbinフォルダ C:\Bitnami\redmine-2.5.2-2\git\bin にパスを通すと手っ取り早いです。

Redmineの再起動

Redmineをマネージャー等で再起動後、管理ユーザーでプラグインを確認してみます。
red_plugins.JPG

Redmine Github Hook pluginが表示されていればインストール成功です。

リポジトリのミラー設定

Redmineでgitのリポジトリを設定する場合、bareで、かつ、ローカルリポジトリである必要がある、とのことなのですが、--mirrorを指定してcloneを取得すれば問題ないようです。
ここではC:\git_repo\配下にミラーを設定します。

 cd C:\git_repo
 git clone --mirror http://[gitbucket-server-name]:8100/git/taro/first_app.git

これにより、C:\git_repo\first_app.git\ が作成されます。

Redmineプロジェクトのリポジトリの設定

上記で設定したミラーのパスC:\git_repo\first_app.git\ を設定します。
red_repo.JPG

RedmineのリポジトリからGitのリポジトリが見えるようになりました。
red_repo2.JPG

Hookの設定

GitBucketのfirst_appリポジトリのSettingからServiceHookタブを選択
git_hook1.JPG

Add webhookボタンをクリックして、Hook先のURLを設定します
git_hook2.JPG

Payload URLは [redmine_url]/github_hook?project_id=[identifier]
とのこと。
私の場合は、

http://[redmine-server-name]/redmine/github_hook?project_id=first_app&repository_id=first_app_repo

と指定。
必要に応じて、トリガーとなるイベントを選択します。
ここではPull requestとPushを選択しています。

Test Hookを押してみて、Response200となればOK。
git_hook3.JPG

設定完了!pushしてみる!!

commitの際に

git commit -m "refs #536 README.md追記"

のようにコメントに refs #チケット番号 を付加しあとpushしてRedmineで確認してみます。
git_test2.JPG

チケットの進捗が100%になり、「関係しているリビジョン欄」に先ほどのコミットコメントが表示されました!!
今回のプロジェクトではこれを有効に使えたらいいですね。

8
23
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
8
23

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?