cd /var/www/git
git init --bare --shared sample.git
作成したリモートリポジトリに対して、
ローカルからなにかをプッシュする。
mkdir /var/www/html/sample
cd /var/www/html/sample
git clone /var/www/git/sample.git
何かアクションがあったら、
deploy-sampleブランチをプルする的なシンプルスクリプト。
vi /var/www/git/sample.git/hooks/post-receive
#!/bin/sh
PUBLIC_DIR=/var/www/html/sample/
DEPLOY_BRANCH=deploy-sample
cd ${PUBLIC_DIR}
git --git-dir=.git pull origin ${DEPLOY_BRANCH}
chmod a+w /var/www/git/sample.git/hooks/post-receive
適当なコミットしてプッシュする
git checkout -b deploy-inbox origin/deploy-inbox
したら反映される・・・はず。
- deployディレクトリの権限はどうなってるか
- gitのスクリプトを実行するユーザで書き込み権限がないとだめ
- SSH接続の場合は接続するユーザでスクリプトが実行される
- post-receiveの実行権はしっかりあるか