2010-12-16 16 views
0

私はCentOS、Apache、PHP、MySQL、Subversionを使用しています。ユーザーが新しいコードをコミットするたびに展開コードを更新したいと思います。私はSVNのポストCommitフックでそれを行うことはできますか?フックの外観はどうですか?Subversion SVN:コミット後のフックとの継続的な統合?

私のリポジトリは/ var/svn/repositoryにあり、私の展開フォルダは/ var/www/myWebAppTestの同じマシンにあります。

答えて

1

/var/www/myWebAppTestをサブバージョンのチェックアウトにすることをおすすめします。その後、ポストコミットフックが

#!/bin/sh 
cd /var/www/myWebAppTest 
svn up 

を読むことができますので、スクリプトの最後にapache2ctl gracefulを追加した場合、またはApacheを再起動する必要があります。

+0

私はリポジトリから特定のフォルダにすべてのファイルを取得するためにsvn exportを使用したので、必要ではないこれらの.svnフォルダが含まれていません。コードを動作させるために、このフォルダを実際の作業コピーにする必要がありますか? –

+0

私は「post-commit」がエラー出力で失敗しました: したがって、エラー出力はありません。どのようにエラー出力を得ることができますか? –

+1

はい、 "svn up"を動作させるには定期的なチェックアウトが必要です。そのためには.svnフォルダが必要です。あなたが絶対にそれらを必要としない場合は、最初に古いツリーを削除して、コミットするたびに "svn export"を実行します。エラー出力を取得するには、そのファイルをファイルにリダイレクトし、そのファイルを検査します。 –

関連する問題