Abgleich zwischen Live- und Testumgebung
Martin Hein
- projektverwaltung
Hallo Forum,
ich arbeite gerade an einem sehr umfangreichen Web-Projekt.
Dazu gubt es eine Entwicklungsumgebung in mienm Büro und
natürlich einen Liveserver. Wenn ich ein Update auf dem
Liveserver mache (also neue und überarbeitete Daten übertragen
will,) mache ich das seit jeher 'zu Fuss'. Lösche den
kompletten Liveserver (der zur Zeit auch noch ein
Previewserver ist) und übertrage alles per FTP von meiner
Entwicklungsumgebung auf den Liveserver. Das ist einigermassen
aufwendig.
Wie macht Ihr den Abgleich ? Hat jemand eine Empfehlung für
eine best. Software, mit der sich dieser Abgleich komfortabel
und sicher durchführen lässt ?
danke für Tipps und
beste gruesse,
martin hein
Wie macht Ihr den Abgleich ?
Es gibt da wohl mehrere Aspekte:
1.) Die Änderungen sollen möglichst inkrementell im Live-System nachgetragen werden
2.) Die Änderungen sollten möglichst zurückgenommen werden, gerne auch mehrfach, Versionierung sollte also unterstützt werden
3.) Es soll schnell und komfortabel gehen
Also, was tun? Mit FTP "zu Fuss" einen neuen "Produktivordner" anlegen, den ganzen Krempel kopieren und dann einen Schalter umstellen. Trivial, oder? (Eigentlich eine logische Folge aus 1. ;)
Wie macht Ihr den Abgleich ?
Es gibt da wohl mehrere Aspekte:
1.) Die Änderungen sollen möglichst inkrementell im Live-System nachgetragen werden
2.) Die Änderungen sollten möglichst zurückgenommen werden, gerne auch mehrfach, Versionierung sollte also unterstützt werden
3.) Es soll schnell und komfortabel gehenAlso, was tun? Mit FTP "zu Fuss" einen neuen "Produktivordner" anlegen, den ganzen Krempel kopieren und dann einen Schalter umstellen. Trivial, oder? (Eigentlich eine logische Folge aus 1. ;)
Das geht bei einem statischen Auftritt, aber selbst viele Privatleute geben sich damit nicht mehr zufrieden!
Also, zu "trivial": ja, aber nicht für Laien.
Schritt 1:
Abgleich des statischen Teils (Filesystem, also ohne DB-Daten).
Sofern Daten sich im Filesystem sich ändern (Logs, automatisch erzeugt Dateien, wie Bilder, PDFs, ...), muß das System in beide Richtungen synchronisiert werden.
(Achtung, nicht blind anwenden. Es kommt auf den Anwendungsfall an, was die Synchronisationsreihenfolge angeht.)
Dein Laptop/Bürorechner: A
Server: B
/etc/hosts:
a1.b1.c1.d1 A
a2.b2.c2.d2 B
rsync -avP B/pfad1 A/pfad2
rsync -avP A/pfad2 B/pfad1
Datenbanken-Backup:
in File sichern
mysqldump -u<username> -p<password> <datenbankname>|gzip -c|cat > datei.sql.gz
Backup aus File rücksichern:
gunzip -c datei.sql.gz|mysql -u<username> -p<password> <datenbankname>
Wenn beide Rechner zum Prodktivsystem gehören (, wobei der Bürorechner auch offline gehen kann), mußt Du über Replikation nachdenken. Aber das sprengt hier echt den Rahmen bzw. habe ich - ehrlich gesagt - jetzt keine Lust, daraus einen Roman zu machen.
:-)
Gruß
Reiner
Was ich vergessen habe:
wenn der "rsync" über ssh geht, muß man per public-key-Verfahren an den Server anmelden können, falls Du den ganzen Krempel automatisieren willst. Aber auch das sprengt den Rahmen. Vielleicht findest Du irgendein Howto. Bzw. sag mal, ob Du sowas ähnliches vor hast.
Gruß
Reiner
Hallo,
ertmal vielen Dank für eure Ansätze.
Im Grunde schliesse ich daraus, dass meine Art und Weise,
das ganze "zu Fuss" zu machen, schon die sicherste Variante
ist und weiterhin so gemacht werden sollte.
vielen gruesse,
martin
Das geht bei einem statischen Auftritt, aber selbst viele Privatleute geben sich damit nicht mehr zufrieden!
Das vorgeschlagene Verfahren geht auch, wenn bspw. Perl oder PHP genutzt wird. (".NET"-Produkte haben ihre eigene Update-Logik).
(Achtung, nicht blind anwenden. Es kommt auf den Anwendungsfall an, was die Synchronisationsreihenfolge angeht.)
Richtig, mit Synchronisationen wäre ich da höllisch vorsichtig.
Datenbanken-Backup:
Die Datenbasis würde ich gerne als von der Webserverlogik getrennt betrachten, d.h. das Updaten der Webserverlogik sollte eigentlich nichts mit der (relationalen) Datenhaltung zu tun haben.
Wenn beide Rechner zum Prodktivsystem gehören (, wobei der Bürorechner auch offline gehen kann), mußt Du über Replikation nachdenken. Aber das sprengt hier echt den Rahmen bzw. habe ich - ehrlich gesagt - jetzt keine Lust, daraus einen Roman zu machen.
Auch mit einer wie auch immer gearteten Replikation "Test-" (oder gar "Entwicklungs-") und "Produkivsystem" wäre ich höllisch vorsichtig.