Andreas Korthaus: Versionskontrolle bei Webprojekten

Beitrag lesen

Hallo Sven!

Ja, das wäre auch eine Variante. Allerdings habe ich keinen lokalen Server, sondern nur einen öffentlichen zum Testen

Was hindert dich, einen WAMP einzurichten auf deiner Maschine?

Naja, das geht wohl, ist aber recht aufwändig. Z.B. nutze ich online nicht MySQL, sondern PostgreSQL oder auch DB2. Gut, ich verwende MDB2 zur Datenbankabstraktion, wäre also eine gute Gelegenheit zu überprüfen ob das auch alles so funktioniert. Bei der Umstellung von MySQL auf PostgreSQL gab es damals schon einige Dinge die ich im Code ändern musste (aber das war meine eigene Schuld, ich dachte jede DB kennt "LIMIT" ;-)). Allerdings ist es mir am liebsten in einer wirklichen 1:1 Kopie der Live-Umgebung zu testen. Ich verwende z.B. auch nicht Apache 2, demnächst werde ich wohl auch hier auf lighttpd umsteigen. Nächster Punkt sind spezielle Perl-Module die ich benötige... Ja, natürlich lässt sich das lokal alles hinbekommen, allerdings arbeite ich nicht immer an einem Rechner, alles in allem arbeite ich regelmäßig auf 4 verschiedenen Rechnern (natürlich alle nicht in einem LAN). Entsprechend müsste ich die Umgebung auf all diesen Rechnern installieren, dazu kommt dass Aktuelisierungen außerhalb der Versionskontrolle (Datenstruktur, neue Tabellen) manuell pflegen müsste. Oder könnte man die Datenstruktur ebenfalls irgendwie elegant unter Versionskontrolle stellen? Man könnte vielleicht eine SQL-Datei mit den Tabellendefinitionen ins repository aufnehmen, aber auch dann muss das noch irgendwie in die lokale DB eingelesen werden. Außerdem ist das blöd mit den Daten, bisher habe ich immer die komplette Test-DB als dump gespeichert, so dass ich dann auch direkt Testdaten habe.

Das ist meine Variante (die ansonsten CVS statt SVN benutzt): Lokal greift der Server direkt in dem ausgecheckten Repository auf ein Verzeichnis als DOCUMENT_ROOT zu, und schon kann ich ohne lästige Commits lokal testen.

Ja, das wäre halt der Vorteil. Im Moment mache ich das ja ähnlich, bis auf die "Kleinigkeit" dass ich die Änderungen erst per SCP von der lokalen Arbeitsumgebung in den DOCUMENT_ROOT übertragen muss, und meine "Arbeitsversion" nicht unter Versionskontrolle steht - was natürlich großer Mist ist ;-)

Die Commits werden direkt danach automatisch auf einen öffentlichen Testserver aktualisiert - dann kann der Kunde ggf. auch angucken, wie der Stand ist.

Machst Du das per "post-commit hook"?

Und Releases installiere ich ebenfalls direkt per CVS-Zugriff auf dem Live-Server.

Das machst Du dann per "export"?

Viele Grüße
Andreas

--
SELFHTML Linkverzeichnis: http://aktuell.de.selfhtml.org/links/