アイビスヘッダー

IBS

2015年11月9日月曜日

gitolite3で作成したリポジトリをRedmine3から参照する

gitolite3はAWS EC2上に構築しました。
構築方法については「gitとgitolite3をAWS EC2上に構築する」を参考にしてください。

新しく作成したリポジトリはtest_repoとします。

リポジトリのミラーを作成する

gitサーバでの作業です。適当なディレクトリに、test_repoのミラーを作成します。
# sudo mkdir -p /opt/git
# cd /opt/git
# sudo git clone --mirror /opt/git/test_repo.git
# sudo chown -R gitolite3:gitolite3 test_repo.git

次に、test_repoリポジトリに変更があった時に、先ほど作ったミラーに同期させるため、gitolite3ユーザーにスイッチして、ミラー元のフックスクリプトを作成します。
# sudo su -o gitolite3
$ cd /var/lib/gitolite3/repositories/test_repo.git/hooks/
$ cat >> post-receive <<EOF
> #!/bin/sh
> /usr/bin/git push --mirror /opt/git/test_repo.git
> EOF
$ chmod 700 post-receive

次に、ミラー先をWebサーバからも参照できるように設定する
$ cd
$ vi .gitolite.rc
$REPO_UMASK =0077; を $REPO_UMASK = 0027; に変更する

次に、グループを変更する
$ sudo vi /etc/group
gitolite3グループにapacheユーザーを追加する


作成したミラーリポジトリをRedmineから参照する

Redmineにブラウザでアクセスし、プロジェクト->設定の「リポジトリ」タブにて以下の通り設定します。
リポジトリに変更を加えて、Redmineに表示されれば成功です。




疑問があります

わざわざミラーを作成する必要があるのか?ということです。
まあ、redmineから参照させたくないときに、/opt/gitのリポジトリを削除してしまうとか、運用している間で分かってくると思うので、とりあえずこの方法で運用してみようと思います。

0 件のコメント:

コメントを投稿