Frage

Bei der Arbeit haben wir einen Windows Server 2003 mit IIS und installiert Subversion. Wir verwenden es lokal zu veröffentlichen und testen unsere ASP.NET-Websites. Jeder Programmierer Schildkröte hat auf seinem PC installiert und kann aktualisieren / commit Inhalte an den Server. die Repositorys Hosting ist gut funktioniert. Aber die Dateien in diesen Repositories gehalten muss dann zu unserem lokalen IIS (virtuelle Verzeichnisse) kopiert werden.

Was ist eine einfache Möglichkeit, diese Subversion-Repositorys zu unserem lokalen IIS zu veröffentlichen?

Edit:
Dank puetzk Ich habe eine einfache bat-Datei, die jedes Mal eine ausgeführt wird Commit erfolgt ist (siehe Subversion Dokumentation über 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
War es hilfreich?

Lösung

  1. Halten Sie einfach den Dateibereich des Web-Servers als Arbeitskopie und eine svn darin ausführen, wann immer Sie wollen „veröffentlichen“. Konfigurieren Sie den Inhalt der .svn Ordner zu verbergen, wenn sie dir unordentliche scheinen (ich nicht speziell wissen, wie dies zu tun, aber ich nehme an, es kann getan werden). Sie werden bereits das Dateisystem versteckt Bit haben, die sich darum kümmern kann.

  2. Wenn Sie es wirklich automatisch (Updates, sobald jemand verpflichtet) möchten, verwenden Sie ein post-commit Hook-Skript auf dem SVN-Server den ersten Prozess zu beginnen.

Andere in den Kommentaren haben mit Export statt Kasse vorgeschlagen. Das kann arbeiten, und vermeidet die .svn Unordnung, hat aber zwei Nachteile. Man hat sie den gesamten Inhalt jedes Mal erneut herunterladen, nicht nur die geänderten Dateien (da sie nicht die .svn dir halten haben sich daran zu erinnern, was sie hat). Wenn Sie viele Dateien haben, wird dies viel langsamer. Zwei, Update ersetzt die Datei atomar (schreibt die neue Version in .svn / tmp, dann geht es in place). Export schreibt die Datei nach und nach in es Ziel, wie es herunterlädt. Das bedeutet Export könnte eine unvollständige Datei an jemanden liefern, die sie gerade zur falschen Zeit durchsucht.

Andere Tipps

SVN nicht unterstützt IIS; aber Sie können führen Sie den Standalone-svnserve-Server als Windows-Dienst .

Es gibt den SVN FAQ-Eintrag darüber, und dieser Blog Post auf Vertigo Software Blog auch hilfreich sein kann.

UPDATE: Nach Ihrer Klarstellung, ich sehe, dass für das, was Sie suchen eine Möglichkeit ist, den Code auf dem Server automatisch aktualisiert, nachdem sie eingecheckt wird. Schauen Sie in CruiseControl.NET , nach einem Blick auf die Subversion Integration Tutorial es sieht aus wie sollte es tun, was Sie wollen.

UPDATE 2: Dieses Tutorial beschreibt, Integration von Subversion, CruiseControl.NET und Nant .

vielleicht SVNIsapi kann das Problem lösen ( http://www.svnisapi.com ). Weil es nur eine IIS-Installation verwendet, deshalb brauchen Sie nicht einen APACHE-Server oder einen SVNSERVER Service. Zweitens soll es möglich sein, die ASP.NET ISAPI-Plugin auf die Verarbeitung von SVNISAPI zu stapeln, so dass eine ASP.NET (.aspx) Seite wird nach einem aus dem Repository gelesen interpretiert.

Prost Paolo

Verwenden Sie können die kostenlose Visuell-SVN Server verwenden, um schnell Subversion mit Apache Frontend zu installieren. Es hat auch eine schöne MMC-Snap-In für die Verwaltung der Server und Repositories.

Sie werden als in der Lage seiner Subversion zugreifen mit HTTP oder HTTPS, aber die Portnummer muss von dem einen Ihrer lokalen IIS Anwendungen unterschiedlich sein (Standard-Port für Visual-SVN-Server ist 8080).

Wenn Sie wirklich die Repositories zugreifen müssen Sie Ihre lokal IIS Port 80 verwenden, können Sie versuchen, SVN-IIS , die wirkt als Brücke zwischen dem IIS und Apache. Ich habe das selbst nicht versucht, ein though.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top