Makery Blog

西麻布のクリエイティブラボ「Makery」でテクノロジーとアイデアをこねています。

git pushしたらそのままページが更新される仕組みの設定(heteml共有サーバー)

こんにちは。
今回はgitのhook機能を利用して、heteml共有サーバーにgit pushしたらそのまま
ページが更新される仕組みを作成していきます。


大まかな流れとしては、

1, 公開領域ではない場所にgitのリポジトリを作成
2, 1で作成したリポジトリを公開領域用ディレクトリとしてclone
3, 1で作成したリポジトリ内のpost-receiveというファイルを編集
4, localにあるリポジトリにremoteのurlを登録してpushする

になります。ではやっていきます。

heteml共有サーバーsshでloginします。

#ホームディレクトリに移動
$ 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

以上です。
今みているあなたの参考になれば幸いです。