自動展開スクリプトをテスト サーバーにローカルでセットアップしたいと考えています。
ubuntu デスクトップ 11.04 で gitolite を使用しています。apt-get install gitolite を使用して gitolite をインストールするので、ユーザー gitolite とグループ gitolite を作成します。
ここで、ユーザーとグループ ivan:ivan を持つ apache を使用してテスト Web サーバーをセットアップし、
そのユーザー名で git clone を実行します。
したがって、すべてのファイルとフォルダーのファイル所有者は ivan:ivan と同じです。
/var/lib/gitolite/repository/testrepo/hooks/ の下に post-receive フックをセットアップし、次のスクリプトを内部に配置します。
#!/bin/bash
#CONFIG
LIVE="/home/ivan/public_html/testrepo"
read oldrev newrev refname
if [ $refname = "refs/heads/master" ]; then
echo "===== DEPLOYING TO TEST SITE ====="
unset GIT_DIR
cd $LIVE
git pull origin master:
echo "===== DONE ====="
fi
post-receive フックは gitolite ユーザーによって実行されるため、ユーザー ivan を使用しているテスト サーバーへのアクセスにパーミッションの問題があります。
私はすでに ivan グループに gitolite を追加してグループ アクセス書き込みにしていますが、それでも実行できません。
これが許可の問題であることは知っていますが、解決策がわかりません。
同じような経験をお持ちの方、または何かアドバイスがありましたら、よろしくお願いします。
ありがとう
イヴァン