Die beste Methode, um Codeaktualisierungen auf eine laufende Website anzuwenden?

8

Wie kann ich Codeänderungen auf meiner laufenden Website vornehmen, wenn ich Fehlerbehebungen oder Updates habe? Der einfachste Weg, den ich mir vorstellen kann, besteht darin, dieselbe Site in einem anderen Verzeichnis einzurichten, um die Änderungen zu testen, und dann meine Website für eine gewisse Zeit offline zu stellen, um die Dateien zu aktualisieren.

Gibt es einen besseren Weg?

    
Arshdeep 27.06.2010, 22:59
quelle

7 Antworten

15

Das Erstellen einer Kopie der Live-Site ist sicherlich ein guter Schritt, um Änderungen an der Kopie vorzunehmen, bevor Sie sie auf der Live-Site anwenden.

Eine gemeinsame Produktionsumgebung würde weitere Schritte enthalten.

  1. Ausführen einer lokalen Entwicklungskopie
    Lassen Sie eine Kopie Ihrer Website auf Ihrem Entwicklungscomputer laufen. Dazu müssen Sie auf Ihrem Entwicklungscomputer einen Webserver, einen Datenbankserver und ggf. einen Mailserver betreiben. Für PHP / Apache / MySQL-Umgebungen schauen Sie sich Ссылка .

    Sie können Ihre lokale Entwicklungsumgebung sicher entwickeln, brechen, testen und ändern

  2. Versionskontrolle
    Verwenden Sie Subversion, Mercurial oder Git, um Ihren Code unter Kontrolle zu halten. Stellen Sie sicher, dass Ihre lokale Entwicklungsumgebung der Quellcodeverwaltung unterliegt. Stellen Sie sicher, dass Ihre Live-Umgebungen der Quellcodeverwaltung unterliegen. Entwickeln Sie lokal, testen Sie Änderungen und übernehmen Sie die Änderungen zurück
  3. Inszenierung und Live-Umgebungen
    Pflegen Sie mehr als eine "Live" -Kopie - die tatsächliche öffentliche Website und so nah wie möglich an einer Replik. Stellen Sie sicher, dass beide unter Versionskontrolle stehen. Nachdem lokal getestete Änderungen getestet wurden, aktualisieren Sie Ihre Staging-Umgebung (unter Verwendung Ihres Quellcodeverwaltungssystems) und testen Sie erneut. Sobald Ihre Staging-Site stabil ist, können Sie Ihr Quellcodeverwaltungssystem verwenden, um Ihre Live-Site zu aktualisieren. In der Regel wird es nicht nötig sein, die reale Live-Site offline zu schalten, um Updates zu installieren Sie können dies bei Bedarf sicher tun.
Jon Cram 27.06.2010, 23:14
quelle
4

Jon Cram hat das sehr gut beantwortet, aber ich denke, es gibt noch ein paar weitere Dinge, die für die Pflege von Entwicklungsumgebungen wichtig sind:

  • Ausstattung: Stellen Sie sicher, dass die 2 Umgebungen, die Sie haben, so nah wie möglich beieinander liegen. Wenn Sie PHP 5.1, MySQL 5.0 und Apache 2.2 und RHEL in der Produktion verwenden, stellen Sie sicher, dass Sie genau die gleichen Versionen von allem in Ihrer Sandbox verwenden.
  • Daten: Erstellen Sie eine Kopie Ihrer Datenbank und verwenden Sie diese. Schreiben oder testen Sie keinen Code mit Daten, die gerade produziert werden. Ein DELETE ohne WHERE und du bist in Schwierigkeiten. (Sie haben ein Backup, oder?)
  • Konfiguration: Behalten Sie alle Ihre Variablen für die Verbindung zu Datenbanken, E-Mail-Adressen für die Unterstützung usw. in einer eigenen Datei. Auf diese Weise können Sie Verbindungsparameter einfach in Ihren verschiedenen Umgebungen austauschen, ohne den Code tatsächlich zu ändern. Außerdem habe ich herausgefunden, dass es hilfreich ist, das Programm separat von Ihrem Code zu verwenden.
  • Erstellen von Skripts: Es ist hilfreich, ein Befehlszeilenskript zu verwenden, das alle Änderungen an Ihrer Site übernimmt. Es kann so einfach wie svn update oder komplex genug sein, um eine eigene App und Bibliothek zu benötigen. Ein gutes Beispiel hierfür finden Sie Ссылка .

Auch (schamloser Stecker), hier ist ein Beitrag, den ich vor einiger Zeit über die Wichtigkeit von Sandboxen geschrieben habe: Ссылка

    
Chris Henry 28.06.2010 00:25
quelle
1

Sie können eine neue Version in einer anderen Subdomain (oder einem Unterordner) ausführen und die Domänenbehandlung nach dem Testen einfach ändern.

    
Pavel Strakhov 27.06.2010 23:12
quelle
1

Nein, es gibt keinen besseren Weg (duh!)

Nun, okay, es könnte einige bessere Praktiken geben, wie in Ihnen sollte eine separate Maschine zu Testzwecken haben. Aber erwarten Sie keine Erleuchtung. Sie nehmen die Seite nur offline, wenn die Last niedrig ist (aka während der Nacht) und ändern / ersetzen Zeug.

    
Robus 27.06.2010 23:14
quelle
1

Methode 1

Erstellen Sie eine Kopie der Live-Site auf dem Computer, den Sie für die Entwicklung der Web-Site verwenden. Folge diesen Schritten: Einrichten eines lokalen Testservers
Mit Xamp oder WampServer < Sie können einfach einen lokalen Server auf dem Entwicklungscomputer einrichten. Installieren Sie einfach alles in einem Server-Paket und kopieren Sie Ihre Website-Dateien in den htdocs-Ordner. Dann können Sie Ihre Website öffnen, indem Sie Ссылка im Browser aufrufen. Ich empfehle persönlich Xamp
Versionskontrolle
Verwenden Sie Subversion, Mercurial oder Git, um die Aktualisierungen Ihrer Site zu verfolgen. Diese Software speichert die Änderungen, die Sie an jeder Datei vornehmen. Sie ermöglichen es Ihnen, Fehler in Ihrer Website rückgängig zu machen, die während der Entwicklung auftreten können.
Eine Live-Kopie Ihrer Site in Stand halten
Bewahren Sie eine Live-Kopie Ihrer Website an einem anderen Ort auf Ihrem Server auf, der mit der öffentlich verfügbaren Live-Site identisch ist. Sobald Sie die lokale Kopie der Site aktualisieren und testen. Verwenden Sie Ihre Quellcodeverwaltungssoftware, um die Live-Staging-Site zu aktualisieren. Wenn sich die Staging-Site als stabil und funktionierend erweist. Verwenden Sie die Quellcodeverwaltungssoftware erneut, um die öffentlich verfügbare Live-Site zu aktualisieren. Auf diese Weise bleibt Ihre Website während der gesamten Aktualisierung online.

Methode 2

Es ist eine ziemlich teure Lösung (ich persönlich empfehle es nicht, da die erste Methode auch die gleichen Ergebnisse gewährleistet). Wenn keine Ausfallzeit verfügbar ist, halten Sie eine andere Kopie der Site auf einem anderen sekundären Server, auf den Sie Benutzer umleiten können, wenn Sie die Hauptsite aktualisieren möchten. Nach Updates können Sie Ihre Benutzer auf die aktuelle Site zurückleiten. Sie können auch den Statusserver verwenden, der sich auf einem anderen Server befindet, um sicherzustellen, dass jede Sitzung aufgezeichnet und verwaltet wird, wenn der Benutzer von einem Standort zu einem anderen wechselt.

Methode 3 (Einfache Methode für diejenigen, die die beiden oben genannten Methoden nicht verstehen)

Installieren Xamp kopieren Sie Ihre Site-Dateien in den Ordner xamp \ htdocs. Diese kopierte Site wird Ihre lokale Kopie sein. Aktualisieren Sie die Site und überprüfen Sie sie lokal, indem Sie in Ihrem Browser Ссылка eingeben und besuchen. Sobald die Website überprüft wurde. Aktualisieren Sie alle Dateien mit dem FTP-Client filezilla (wählen Sie beim Hochladen neue Dateien aktualisieren.).

    
Naeem Ul Wahhab 29.11.2011 07:42
quelle
1

Bei stark frequentierten Standorten AND strenge SLA für Ausfallzeiten AND mit dem Apache-Webserver UND für Updates mit einer erheblichen Anzahl von Dateien (z. B .: & gt; 10), über die Vorschläge von "Jon Cram" und "Chris Henry" können Sie diesen einfachen Trick verwenden:

in Ihrer Live-Umgebung mit 2 Dokumentenstamm, 1. mit Ihren alten Dateien und 2. mit neuen Dateien (Sie haben bereits im Staging getestet), und symbolische Links, um zu teilen, was Sie nicht duplizieren können, dann:

%Vor%

Der Apache beendet die alten Anfragen in der alten Umgebung und startet die neuen Anfragen in der neuen Umgebung.

  • Natürlich haben Sie die Patches für die DB schon gemacht
  • Natürlich muss man Code schreiben, der Konflikte mit der DB vermeidet (zB: neue Tabellen und neue Spalten)
  • Natürlich ist es einfacher: stop die Site, patchen Sie sie und starten Sie sie neu

Vielleicht verwenden Sie nicht Apache, aber viele Webserver haben diese Fähigkeiten.

    
Ivan Buttinoni 29.11.2011 22:47
quelle
0

Sie sollten eine Kopie Ihrer Website auf Ihrem Computer verwenden. Dann nach Updates / Code-Änderungen etc. Aktualisieren Sie die Seite mit Filezilla FTP-Client . Filezilla ersetzt nur die Dateien, die Sie aktualisiert haben, und während des gesamten Prozesses ist Ihre Site online.

    
Naeem Ul Wahhab 27.11.2011 18:17
quelle

Tags und Links