こんにちは。
今回はgitのhook機能を利用して、heteml共有サーバーにgit pushしたらそのまま
ページが更新される仕組みを作成していきます。
大まかな流れとしては、
1, 公開領域ではない場所にgitのリポジトリを作成
2, 1で作成したリポジトリを公開領域用ディレクトリとしてclone
3, 1で作成したリポジトリ内のpost-receiveというファイルを編集
4, localにあるリポジトリにremoteのurlを登録してpushする
になります。ではやっていきます。
#ホームディレクトリに移動
$ cd $HOME#gitリポジトリ用のディレクトリを公開領域外に作成
$ mkdir your_git_repos#gitリポジトリに移動
$ cd your_git_repos#git initする
$ git init#何かしらのファイルを作成
$ touch index.html#何かしらのファイルをgitのindexに追加
$ git add .#git commit
$ git commit "first commit"$ cd $HOME
#一応webディレクトリをバックアップ
$ cp -r web web_bk#webディレクトリを削除
$ rm -rf web#webディレクトリとしてgit cloneする
$ git clone your_git_repos web
ここまで作業したら公開領域ではない場所に作成したgitリポジトリ内にある
post-receiveを下記の様に編集します。
cd /path/to/your/HomeDir/web; git --git-dir=.git pull
post-receiveに実行権限を付与します。
chmod +x post-receive
あとはlocalにあるあなたのリポジトリにURLを登録します。
#localのリポジトリで
$ git remote add origin ssh://ユーザー名@サーバー:2222/path/to/your_git_repos/your_git.git
以上です。
今みているあなたの参考になれば幸いです。