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」が発生する可能性がある。