環境
- CentOS7
- Apache/2.4.6
- Ruby 2.0.0
- Redmine 3.2.0
- Git 1.8.3.1
gitoliteをインストールしたユーザ 「git」
gitoliteのインストールディレクトリ 「/home/git」
連携するリポジトリ 「hoge」
Apacheの実行ユーザ 「apache」
方針
RedmineからはapacheユーザでGitを参照するので、gitグループに追加します。
リポジトリのミラーを作って参照できるようにパーミッションを調整をします。
pushが反映されるようにフックを作成します。
手順
apacheをgitグループに追加
sudo usermod -G git apache
gitoliteのumask調整
.gitolite.rc
21c21
< UMASK => 0077,
---
> UMASK => 0027,
リポジトリのミラー
sudo -u git mkdir -p /var/lib/redmine/repositories
sudo chown git:git /var/lib/redmine/repositories
cd /var/lib/redmine/repositories/
sudo -u git git clone --mirror /home/git/repositories/hoge.git
pushをミラーに反映するようにフックを作成
/home/git/repositories/hoge.git/hooks/post-receive
#!/bin/sh
/usr/bin/git push --mirror /var/lib/redmine/repositories/hoge.git
chmod 700 /home/git/repositories/hoge.git/hooks/post-receive
Redmineのデバックログ出力
上手く行かない時は、Redmineのデバックログを出力すると手助けになります。
//config/additional_environment.rb
config.log_level = :debug
編集して、Apacheを再起動します。
ログは、 /<redmine_dirname>/log/production.log に出力されます。