構築方法については「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 件のコメント:
コメントを投稿