コミット後にリポジトリからサーバーにコードを自動的にアップロードする
バージョン設定ファイル(Settings.php / xml / yml)
プロジェクトのクイックチェックアウトを使用して、リポジトリに太くて変更のないサードパーティライブラリを格納する
- コミット後にリポジトリからサーバーにコードを自動的にアップロードする
phpのサイトで、リポジトリにコミットした後、デモサーバーのコードが自動的に更新されることを望んでいました。
これはsvn-hooksを使用して行うことができます:各リポジトリのルートには、実行可能ファイル(たとえば、shall-script:full / path / to / svn update path / to / web / folder)を入れて特定の方法で名前を付けることができるフックフォルダーがあります(たとえば、post-commit.shまたはpost-commit.bat)-コミットするたびに、このスクリプトが実行され、デモのコードが更新されます(ファイルへのアクセス許可に問題がある可能性があります-リンクを読み取ります)。
この場合、サービスsvnファイルはデモに配置されます。 この問題は、Apache設定によって解決されます。
<DirectoryMatch "^/.*/\.svn/">
Order deny,allow
Deny from all
svn export (http://svnbook.red-bean.com/en/1.0/re10.html) update (http://svnbook.red-bean.com/en/1.1/re28.html).
. export . update svn .
links:
arstechnica.com/articles/columns/linux/linux-20050406.ars
subversion.tigris.org/faq.html#website-auto-update
svn-hooks : , -, ..
設定のバージョン設定方法(Settings.php / xml / yml)
そのため、アプリケーションをインストールするマシンごとに編集される設定ファイルがあります。 したがって、新しいマシンからの各グループコミットはリポジトリ内のこのファイルを上書きし、別のマシンで作業バージョンを更新するときに、このマシンの設定を不快に書き換えることもあります。 Subversion.tigris.org/faq.html#ignore-commitは、次のようにする方法を示しています。
たとえば、settings.template.phpのsettings.phpなどの初期設定でファイルをコピーし、svn:ignoreにsettings.phpを追加する必要があります。 その結果、アプリケーションをデプロイするときに、settings.template.phpをsettings.phpにコピーするという逆の操作を実行し(settings.phpがリポジトリにない)、特定のインストール用に微調整する必要があります。 svn:ignoreのため、settings.phpファイルはコミットされなくなります
脂肪質のサードパーティライブラリを保存する方法
私の場合、プロジェクト自体よりもはるかに大きい(そしてほとんど変更されない)dojo(素晴らしいjsツールキット)であり、リポジトリにアップロードしてそれを取り戻そうとすると不愉快な長い時間がかかります。 したがって、この問題を解決するために、以前のトリックを少し変更しました。
そのため、深いdojoフォルダーがあります-svn:ignoreに追加し、extract_to_dojo.archivにアーカイブします。これをリポジトリにアップロードします。 新しい場所にデプロイするときは、逆の操作を実行する必要があります。
原則として、新しいバージョンの展開を自動化するために、すべての/extract_to(.?)\.rar/を通過して$ 1に解凍する小さなスクリプトを作成できます。
Winプラットフォームでの作業を余儀なくされている人にとって、便利なアセンブリsvn + apache + guiはwww.visualsvn.comです。