SubversionにコミットしたらWEBサーバの内容も更新する方法

Subversionで開発していると、ソースコードをコミットした後に、動作環境用のサーバにもアップするということがよくある。
そうした場合、コミットとアップを両方行う便利な方法が、post-commitフックである。

リポジトリの中の hooksというフォルダに、post-commit.tmpl というファイルがあるので、それを post-commit という名前でコピーする。そしてその中に コミットした後に実行させたい内容を書けば良い。

例えば、

cd WEBサーバのアップしたい先のディレクトリ
svn update

と書き、実行権限を付与してやれば、コミットされた後に、WEBサーバがリポジトリの最新状態に自動的に更新されることになる。

アップロードなどの手間が省けてかなり便利だ。

なお、上の例では、アップしたい先のディレクトリの.svnファイルに、あらかじめapacheの実行権限を付けてやらねばならない。

cd WEBサーバのアップしたい先のディレクトリ
chown -R apache:apache .*

をしておこう。そうでないと、コミット時「Permission Denied」が発生する可能性がある。