質問

職場では、IIS と Subversion がインストールされた Windows Server 2003 を使用しています。これを使用して、ASP.NET Webサイトをローカルで公開およびテストします。すべてのプログラマは自分の PC に Tortoise をインストールしており、コンテンツをサーバーに更新/コミットできます。リポジトリのホスティングは正常に機能しています。ただし、これらのリポジトリに保存されているファイルは、ローカル IIS (仮想ディレクトリ) にコピーする必要があります。

これらの Subversion リポジトリをローカル IIS に公開する簡単な方法は何ですか?

編集:
おかげで プエツク コミットが発生するたびに実行される単純なバット ファイルを追加しました ( 破壊文書 フックについて)。私のバットファイルには次のものだけが含まれています:

echo off
setlocal

:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update

endlocal
exit
役に立ちましたか?

解決

  1. Web サーバーのファイル領域を作業コピーとして保持し、「公開」したいときにそのファイル領域で SVN UP を実行するだけです。.svn フォルダーが乱雑に見える場合は、その内容を非表示にするように設定します (これを行う方法は具体的にはわかりませんが、おそらく実行できると思います)。彼らはすでにファイルシステムの隠しビットを持っているので、これを処理できる可能性があります。

  2. 本当に自動にしたい場合 (誰かがコミットするとすぐに更新する)、SVN サーバー上でコミット後のフック スクリプトを使用して最初のプロセスを開始します。

コメント内の他の人は、チェックアウトの代わりにエクスポートを使用することを提案しています。これも機能し、.svn の煩雑さを回避できますが、欠点が 2 つあります。1 つは、変更されたファイルだけでなく、コンテンツ全体を毎回再ダウンロードする必要があることです (内容を記憶するために .svn ディレクトリを保持していないため)。ファイルが多い場合、これはかなり遅くなります。2 つ目は、update はファイルをアトミックに置き換えます (新しいバージョンを .svn/tmp に書き込み、それを所定の位置に移動します)。エクスポートでは、ダウンロード中にファイルが徐々に宛先に書き込まれます。つまり、エクスポートによって、不完全なファイルが間違ったタイミングで閲覧した人に配信される可能性があります。

他のヒント

SVN は IIS をサポートしていません。ただしできます スタンドアロンの svnserve サーバーを Windows サービスとして実行します.

そこにあるのは、 SVN FAQ エントリ それについては、このブログ投稿をご覧ください Vertigo ソフトウェアのブログ も役立つかもしれません。

アップデート:ご説明の結果、あなたが探しているのは、チェックイン後にサーバー上のコードを自動的に更新する方法であることがわかりました。調べてください クルーズコントロール.NET, を見た後、 Subversion 統合チュートリアル やりたいことをやればいいようです。

更新 2:このチュートリアルでは、 Subversion、CruiseControl.NET、Nant の統合.

おそらく SVNIsapi が問題を解決できるでしょう (http://www.svnisapi.com)。IIS インストールのみを使用するため、APACHE サーバーや SVNSERVER サービスは必要ありません。次に、ASP.NET (.aspx) ページがリポジトリから読み取られた後に解釈されるように、ASP.NET ISAPI プラグインを SVNISAPI の処理にスタックできる必要があります。

乾杯パオロ

無料で使える Visual-SVNサーバー Apache フロントエンドを使用して Subversion をすばやくインストールします。また、サーバーとリポジトリを管理するための優れた MMC スナップインも備えています。

これで、HTTP または HTTPS を使用して Subversion にアクセスできるようになりますが、ポート番号はローカル IIS が使用するものとは異なる必要があります (Visual-SVN サーバーのデフォルトのポートは 8080)。

ローカル IIS ポート 80 を使用してリポジトリにアクセスする必要がある場合は、次のことを試してください。 SVN-IIS これは、IIS と Apache の間のブリッジとして機能します。私自身はこれを試したことはありませんが。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top