Wie kann ich veröffentlichen Sie ein subversion-repository auf einem lokalen IIS?
Bei der Arbeit, wir haben einen windows server 2003 mit IIS und Subversion installiert. Wir verwenden es zu veröffentlichen und lokal testen
unsere ASP.NET websites. Jeder Programmierer hat die Schildkröte auf seinem PC installiert und kann update/commit-Inhalt an den server. Hosting-repositories funktioniert.
Aber die Dateien gehalten, die in diesen Repositorys muss dann kopiert werden, um unsere lokalen IIS (virtuelle Verzeichnisse).
Was ist ein einfacher Weg, das zu veröffentlichen subversion-Repositorys zu unserem lokalen IIS?
Edit:
Dank puetzk ich fügte hinzu, eine einfache bat-Datei ausgeführt wird, jedes mal, wenn ein commit erfolgt (überprüfen Sie die subversion Dokumentation über die Haken). Meine bat-Datei enthält nur:
echo off
setlocal
:: Localize the working copy where IIS points)
pushd E:\wwwroot\yourapp\trunk
:: Update your working copy
svn update
endlocal
exit
Du musst angemeldet sein, um einen Kommentar abzugeben.
Halten gerade die web-server den Bereich Datei als Arbeitskopie, und führen ein svn up im es, Wann immer Sie wollen, Sie zu "veröffentlichen". Konfigurieren Sie es, um den Inhalt zu verstecken der .svn-Ordner, wenn Sie scheinen, unordentlich, um Sie (ich weiß nicht konkret wissen, wie Sie dies tun, aber ich nehme an, es kann getan werden). Sie haben schon das Dateisystem hidden-bit, die können sich darum kümmern.
Wenn Sie es wollen, wirklich automatische (updates, sobald sich jemand verpflichtet), verwenden Sie ein post-commit-hook-Skript auf dem SVN-server zum Auftakt des ersten Prozesses.
Andere in die Kommentare haben vorgeschlagen, statt dessen exportieren der Kasse. Das kann auch funktionieren, und vermeidet die .svn-Krempel, hat aber zwei Nachteile. Eins hat es erneut herunterladen, werden die gesamten Inhalte jedes mal, nicht nur die geänderten Dateien (da es nicht halten .svn dir zu erinnern, was es hat). Wenn Sie viele Dateien haben, wird dies sehr viel langsamer. Zwei, update ersetzt die Datei atomar (schreibt die neue version .svn/tmp, dann bewegt er einrastet). Export schreibt die Datei nach und nach in es ist Ziel, wie es downloads. Das bedeutet, dass export liefern konnten eine unvollständige Datei an jemanden, durchsucht es nur die falsche Zeit.
SVN nicht unterstützt IIS; Sie können jedoch starten Sie die eigenständige svnserve-server als windows-Dienst.
Gibt es die SVN FAQ-Eintrag über es, und in diesem blog-post auf Vertigo Software blog kann ebenfalls hilfreich sein.
UPDATE:
Nach Ihrer Klarstellung, ich sehe, dass das, was Sie suchen, ist ein Weg, um automatisch aktualisieren Sie den code auf dem server nach dem Einchecken. Schauen Sie in CruiseControl.NET, nach einem Blick auf die subversion-integration tutorial es sieht aus wie es sollte tun, was Sie wollen.
UPDATE 2: Dieses tutorial beschreibt,die Integration von Subversion, CruiseControl.NET und Nant.
vielleicht SVNIsapi das problem lösen kann (http://www.svnisapi.com). Ursache-es nur ist, nutzt eine IIS-installation, daher brauchen Sie nicht einen APACHE-server oder ein SVNSERVER-service. Zweitens sollte es möglich sein, den stack ASP.NET ISAPI-plugin auf die Verarbeitung von SVNISAPI, so dass eine ASP.NET (.aspx-Seite wird interpretiert nach dem Lesen aus dem repository.
Cheers
Paolo
Verwenden, können Sie das kostenfreie Visual-SVN-Server für die schnelle Installation von Subversion mit Apache-front-end. Sie haben auch einen schönen MMC-snap-in für die Verwaltung der server und repositories.
Werden Sie als Zugriff auf subversion-mit HTTP oder HTTPS, aber die port-Nummer muss eine andere sein als die, die Ihr lokalen IIS verwendet (Standard port für Visual-SVN-server ist 8080).
Wenn Sie wirklich brauchen, um Zugriff auf die repositories mit Ihrem lokalen IIS port 80, können Sie versuchen,SVN-IIS, die fungiert als eine Brücke zwischen IIS und Apache. Ich habe nicht versucht, diese mich aber.