Was ist die beste Lösung für die Aufrechterhaltung der Sicherungs-und revisions-Kontrolle auf live-websites?

StackOverflow https://stackoverflow.com/questions/27292

  •  09-06-2019
  •  | 
  •  

Frage

Was ist die beste Lösung für die Aufrechterhaltung der Sicherungs-und revisions-Kontrolle auf live-websites?

Als Teil meiner Arbeit, ich arbeite mit mehreren live-websites.Wir brauchen ein effizientes Mittel für die Aufrechterhaltung der sicherungen der live-Ordner im Laufe der Zeit.Darüber hinaus die Aktualisierung dieser Seiten kann ein Schmerz sein, besonders wenn eine Veränderung geschieht, um die Pause in die live-Umgebung aus welchem Grund auch immer.

Was wäre ideal wäre hassle-source-control.Ich habe implementiert SVN für eine Weile, das war toll eine semi-Lösung für das backup sowie revision control (einfache Umkehrung von temporären oder breaking changes) etc.

Leider SVN Orte .SVN versteckte Verzeichnisse überall, die Probleme verursachen, insbesondere wenn andere Entwickler machen Ordnerstruktur änderungen oder kopieren/verschieben website-Verzeichnisse.Ich habe gehört das argument, dass dies eine Frage der Erziehung etc.doch der Ansatz von SVN ist einfach nicht eine praktische Lösung für uns.

Ich denke, dass vielleicht eine inkrementelle backup-Lösung besser sein könnte.

Andere Möglichkeiten sind:

  1. SVK, die Kommando-Zeile nur das wird zum problem.Außerdem bin ich nicht sicher, wie angemessen wäre dies.
  2. Mercurial, vielleicht mit Triggern zu verstecken, die verteilte Komponente, die in diesem Fall nicht erforderlich und wäre unnötig kompliziert für andere Entwickler.

    Ich experimentierte kurz mit Mercurial, aber konnte nicht finden ein schöner Weg, um die repository trennen und immer in sync mit die live-Ordner in der Arbeitskopie.Vielleicht als source-control-Lösung (Herstellung repository und live-Ordner die gleiche Stelle) in Kombination mit einem anderen backup-Lösung dies könnte der Weg zu gehen.

    Ein Nachteil der Mercurial ist, dass es keine leeren Ordner unter Versionskontrolle was problematisch für websites, die Häufig leere Ordner als Platzhalter Speicherorte für die Datei-uploads, etc.

  3. Rsync,, das habe ich noch nicht wirklich untersucht.

Ich würde wirklich zu schätzen Ihre Beratung über die beste Art der Datensicherung von live-Webseiten, idealerweise mit einem einfachen Mittel zum abrufen früherer Versionen schnell.

Antwort beantwortet:

  • @Kibbee:

    • Es ist nicht so viel über Bildung als keine Vertrautheit mit nichts, aber VSS und einem Mangel an Zeit/Aufwand zu lernen, nichts anderes.

    • Die xcopy/7-zip Ansatz klingt vernünftig, aber ich Schätze, es würde nehmen schnell viel Platz, richtig?

    • Soweit die Quellcodeverwaltung, ich denke, ich würde die source-control, um einfach sagen, dass "dies ist der Zustand des Ordners nun, ich werde damit umzugehen und wenn ich kann nicht mit Material, dass ist deine Schuld, ich werde einfach start neuer Geschichten" eher als fail hard.

  • @Steve M:

    • Ja, das ist ein schöner Weg, es zu tun, würde aber erfordern einen erheblichen kulturellen Wandel.Having said, die ich sehr mag diesen Ansatz.
  • @mk:

    • Schön, dachte ich nicht über die Verwendung von Rsync zu implementieren.Tut dies, nur laden Sie die Unterschiede?Überschreiben Sie die gesamte live-Verzeichnis jedesmal, wenn wir eine änderung vornehmen, wäre problematisch, Website-Ausfallzeiten.

Ich bin immer noch neugierig zu sehen, ob es noch mehr werden traditionelle Optionen

War es hilfreich?

Lösung

Sie können immer noch SVN, aber anstatt das zu tun, eine Kasse auf Ihre live-Umgebung, tun Sie export diese Weise nicht .svn-Verzeichnisse erstellt werden.Der Nachteil ist natürlich, dass keine code-änderungen auf Ihrer live-Umgebung stattfinden kann.Das ist eine gute Sache.

Als eine Allgemeine Regel, die code-änderungen auf Produktions-Systemen sollten niemals erlaubt werden.Sollte die änderung vorgenommen und getestet, die in einer Entwicklung/test/UAT-Umgebung, dann einmal bestätigt OK, können Sie tag -, dass der code im SVN mit sowas wie RELEASE-x-x-x.Dann, auf dem live-system exportieren Sie den code mit diesem tag.

Andere Tipps

Wir verwenden Sie option 3.Rsync.Ich schrieb ein bash-Skript, um dies zu tun, zusammen mit einigen extra-Prüfung, aber hier sind die Grundlagen dessen, was es tut.

  1. Ein tag für drücken, um zu Leben.
  2. Svn export auf, dass tag.
  3. rsync zu Leben.

So weit es gearbeitet hat.Wir don nicht haben, um sorgen über die Benutzer-Konflikte oder haben einen eigenen Benutzer für das ausführen von svn auf die Produktion Maschine.

Jede source-control-Lösung Holen Sie geht Probleme zu haben, wenn Leute sich bewegen, löschen, oder hinzufügen von Dateien und nicht sagen, sind die source-control-system über es.Ich bin mir nicht bewusst, irgendwelche source control Element, das dieses problem lösen könnte.

In dem Fall, wo Sie nur können nicht erziehen die Menschen, die an dem Projekt arbeiten[1], dann können Sie nur noch zu gehen mit täglichen snapshots.Etwas so einfaches wie batch-Datei mit xcopy auf ein Netzwerk-Laufwerk, und möglicherweise 7-zip auf der Kommandozeile zu komprimieren, so dass es nicht nehmen zu viel Platz wäre wahrscheinlich die einfachste Lösung.

[1] ich würde mich sehr ungläubig, wahrscheinlich nur mehr ein Fall von Menschen, die zu stur und nicht bereit, zu lernen oder zu tun "extra-Arbeit".Egal, wie viel Zeit source-control-sparen könnten, wenn Sie haben zu gehen zurück zu früheren Versionen, oder 2 Personen bearbeitet haben, die gleiche Datei.

rsync werden nur laden Sie die Unterschiede.Ich habe es nicht persönlich benutzt, aber Mark Pilgrim schrieb vor langer Zeit erfahren, wie es sich selbst Griffe binäre diffs Brillant.

svn+rsync klingt wie eine fantastische Lösung.Ich werde versuchen, in die Zukunft.

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