2009-05-08 15 views
2

Ich habe einen Windows 2003 Server mit IIS, ich habe VisualSVN Server darauf installiert.Neu bei SVN, wie Setup?

Ich habe zwei Entwickler, die TortoiseSVN verwenden werden.

Da dies das erste Mal ist, dass ich einen SVN-Server eingerichtet habe, bin ich irgendwie verwirrt, wie das alles funktionieren wird. So wie ich es sehe, würde jeder Entwickler eine Kopie des Repositories auf seinem lokalen PC haben, würde jede Person auch IIS auf ihrem PC installieren müssen, um ihre Kopien vor dem Auschecken zu testen?

Sollte ich einen Testordner auf dem Server erstellen und dann eine Produktion bereit? Es scheint, als ob das mehr Probleme mit Kopien verursachen würde?

Was würden Sie tun?

EDIT

Ich weiß nicht, was ich dachte, ich habe vergessen, dass VS ein in IIS aufgebaut hat, wenn Sie so das Problem debuggen über IIS auf entweder Einrichten Client oder Server jetzt kein Thema ist. Aber ich bin verwirrt, ich importierte die Seite in das Repo, es sagte, dass es auf Revision 2 war, aber ich sehe keine der Dateien im Repo-Ordner. Erstelle ich einen virtuellen Ordner in IIS, der auf das Repo verweist, das ich erstellt habe?

+0

Ich denke, wenn er IIS erwähnt, spricht er über IIS zum Testen seines Codes - nicht IIS für SVN. Einige der Antworten scheinen dieses Problem zu verwirren. Oder vielleicht lese ich es falsch? – Tim

Antwort

4

Nein, jeder Entwickler verwendet Ihr Repository und checkt seine eigenen Kopien aus, um seine Arbeit zu erledigen. Sie benötigen weder IIS noch svn usw., die auf ihren Systemen installiert sind.

Ich empfehle das Lesen auf Subversion FAQ.

+0

Ja, lese durch die fac, hört sich so an, als hättest du ein bisschen Nachforschungen anstellen müssen, bevor du alles aufgibst. –

+0

Ich habe das gesehen, (http://subversion.tigris.org/faq.html # website-auto-update) bot nicht viel Info, außer dass ich einen Haken installieren muss, scheint Quellcode für Linux nur obwohl –

0

Es hängt davon ab, wie Sie arbeiten. Es gibt other discussions über Ordnerstruktur und solche, die direkt spielen, wie Sie Versionskontrolle verwenden.

0

Uh, nein, keine lokalen Repositories. Das Einrichten von SVN ist einfach, gut, fast. Sie sollten nach dem Svn Windows Installer suchen und es auf dem Server einrichten. Du wirst Apache installieren wollen und dann wirst du eine kleine Hürde haben, die die http.conf-Datei aufsetzt, um svn über http verfügbar zu machen. Es gibt ein wenig Komplexität beim Einrichten der Sicherheit, also gehen Sie mit der Windows-Authentifizierung, Sie benötigen WebDav, google es.

Sobald dies erledigt ist, kann jeder Svn-Client es treffen und eine Kopie auschecken und normal mit SVN arbeiten. Wenn Sie wirklich hängen bleiben, kommentieren Sie hier und ich werde eine Kopie unserer Installation und Konfiguration für Sie bekommen.

Die gute Nachricht ist, dass es solide ist, sobald Sie es einrichten, wird es für immer laufen.

+0

Wenn ich VisualSVN installierte, sagte es Apache installiert und ich stellte sicher, dass ich Windows-Authentifizierung verwendet. Also ich denke, mir geht es gut. Mein Problem ist, dass ich nicht möchte, dass die Entwickler sich auf die Live-Seite verpflichten, falls es einen Fehler gibt. Die einzigen zwei Möglichkeiten, die ich sehe, ist A) sie installieren lokale Kopie von IIS, die ihre Kopie des Repos auf ihrem PC haben und dort überprüfen. Oder B) Erstellen Sie lokale Sites auf dem Server, wo sie auf Fehler überprüfen können und so –

+0

Es gibt eine schöne Standard-Praxis, und es gibt einige gute Bücher über ihre Entwicklung Zyklus Checkout Ship It in der Pragmatic Programmers-Serie. Ein Tag im Leben des Entwicklers. 1. Überprüfen Sie das Projekt von SVN zu ihrer lokalen Entwicklungsbox. 2. Entwickeln und testen Sie das Projekt entweder mit der lokalen Box oder mit dem eingebauten Server Cassini. 3. Aktualisieren Sie ihre Quelle noch einmal, um weitere Änderungen zu erhalten. 3. Commit zurück zum Svn-Repository. 4. Wiederholen Sie die Schritte für jeden Funktionsbereich. Beachten Sie, dass die Live-Site nicht mit dem Repository verbunden sein sollte, ein Mensch muss dies tun. –

-1

Nein, der SVN-Server muss auf einem einzelnen Computer installiert sein. Jeder Entwicklerpunkt auf diesem Computer erhält lokal (und eventuell) eine vollständige Kopie oder eine Teilkopie des Repositorys.

Sie können auch ein Buch von O'Reilly über Subversion kaufen. Ich erinnere mich nicht an den Titel, sorry, aber es hilft mir sehr.

Alles Gute! Sylvain.

+0

Warum sollte ich SVN Server auf jedem PC installieren? Würde nicht SVN Server nur auf dem Server installiert werden und wer wird jemals die Client-Version von SVN wie TortoiseSVN in meinem Fall installieren? –

+0

Meine Antwort war nicht klar. Du hast recht. Als ich sagte: "Auf einem einzigen PC" meinte ich: "Auf einem einzigen PC, der als Server fungiert". In kann eine alte Kiste sein. Außerdem haben Sie mit dem Kunden Recht: Jeder Entwickler benötigt eine Kopie von Tortoise und/oder AnkhSVN. Hinweis: Das Buch ist "Versionskontrolle mit Subversion", OReilly. Sie können es hier KOSTENLOS lesen: http://svnbook.red-bean.com/en/1.1/svn-book.html – SRO

0

Ich habe Tortoise auf dem Server installiert und mache Updates/Checkouts der Release-Website.Einige Leute mögen es nicht, kompilierten Code einzusehen, aber ich mag es, die kompilierte Website in SVN zu haben.

Wenn Sie Schildkröte auf dem Server verwenden, tun die anfängliche Kasse zum inetpub/Website-Verzeichnis und dann auf Roll-outs müssen Sie nur das Verzeichnis aktualisieren mit Schild>

Natürlich checkin zu Roll-out aktualisieren gilt als schlecht üben, ohne zuerst auf Staging-Servern zu rollen und zu testen, aber hängt von Ihrer Teamgröße ab.

2

Ihre Entwickler haben kein lokales Repository, sie haben eine Arbeitskopie auf ihrem PC. In der Regel ist dies die neueste Version der App mit den Änderungen, die von den Entwicklern vorgenommen wurden, aber noch nicht festgelegt wurden.

Da dies eine Webanwendung ist, benötigen Ihre Entwickler lokal eine Art Webserver, um sie zu testen - dies könnte IIS oder der in Visual Studio eingebaute Webserver sein (obwohl sich das auf subtile Weise anders verhält). .

Sie sagten in einem Kommentar: "Mein Problem ist, dass ich nicht möchte, dass die Entwickler auf die Live-Site verpflichten, falls es einen Fehler gab."

Die Entwickler verpflichten sich zum SVN-Repository auf dem Server: irgendwann möchten Sie eine Kopie von der neuesten Version in Ihrem Repository zu Ihrer Live-Site exportieren (auch bekannt als "publish"). Um sicherzustellen, dass dies funktioniert, können Sie eine bestimmte Version vom Server auschecken, testen und, wenn die Tests bestanden werden, diese hochladen: Entwickler werden immer Code mit Fehlern einchecken (obwohl er erstellt wird), da es besser ist, dies zu überprüfen Code häufig ein, als viele Änderungen lokal zu erstellen und sie dann zu committen, da es Konflikte mit der Arbeit anderer Entwickler geben muss.

Verzweigung und Tagging sind nützliche Konzepte hier: Wenn Sie eine Version haben, die fast richtig ist, "verzweigen" Sie es von der Haupt "Trunk" der Quellcode-Struktur, beheben Sie alle Probleme in der Branche (Back-Portierung Wenn Sie eine funktionierende Version haben, markieren Sie sie (als Version xyz) und laden sie hoch. Auf diese Weise können Sie immer auf die bestimmte Version des von Ihnen hochgeladenen Codes verweisen, wodurch es einfacher wird, Fehler zu identifizieren, die in der Produktion auftauchen. Wie andere vorgeschlagen haben, lesen Sie die SVN-Dokumentation für weitere Informationen.

0

Nein - Ihr zentraler Server wird das Repository verwalten. Ihre Entwickler werden Kopien des Repositorys erhalten, Änderungen vornehmen und sie dann in Ihr Repository übertragen.

Sie haben tatsächlich ziemlich viele Dinge herauszufinden, wenn Sie eine erfolgreiche Bereitstellung von Subversion durchführen möchten.

Ein wirklich guter Artikel über Subversion auf Windows einrichten - http://www.codinghorror.com/blog/archives/001093.html