Mir sind einige Möglichkeiten zum Bereitstellen von Websites bekannt:
- FTP
- Export aus der Quellcodeverwaltung
- Richten Sie die Site auf eine Quellcodeverwaltung
Ich kann einige Vor- und Nachteile von jedem sehen. Gibt es einen Konsens darüber, wie neue Websites oder Standortänderungen am effektivsten bereitgestellt werden können?
site-deployment
Grant Palin
quelle
quelle
Antworten:
Was für uns bei Stack Overflow am besten funktioniert hat (und Punkt 2 des Joel-Tests erfüllt ), ist eine kontinuierliche Integrationslösung , die das Erstellen unserer Produktionsstandorte mit einem Klick sowie das automatisierte Erstellen unserer Entwicklerebene beim Einchecken neuen Codes ermöglicht .
Wir verwenden die .NET-Variante von CruiseControl mit dem aufregenden Namen .. CruiseControl.NET :)
Einige der Hauptmerkmale sind:
Wir waren äußerst zufrieden mit dieser Open-Source-Software und würden sie jedem Team empfehlen, das seinen Erstellungsprozess optimieren möchte.
quelle
Ich bevorzuge Bereitstellungen, die automatisiert und wiederholbar sind. Sie möchten auf jeden Fall mit einem Versionsverwaltungs-Tag beginnen, damit Sie genau wissen, was Sie bereitgestellt haben, und es jederzeit erneut bereitstellen können. Verwenden Sie dann Skripte, um dies auf den Server zu übertragen, etwas in Anlehnung an Capistrano oder einfach ein hausgemachtes Bash-Skript oder so.
Wenn für Websites, die kompilierten Code verwenden, die Testserver mit den Produktionsservern übereinstimmen, ist es wahrscheinlich am besten, den Code einmal zu kompilieren und dieselbe kompilierte Version nach dem Testen in die Produktion zu übertragen.
quelle
Ich benutze benutzerdefinierte Skripte. Für statische (HTML-basierte) Websites verwende ich doppelte Verzeichnisse mit neuen und installierten Versionen. Dann führt das Skript eine Rekursion
diff
für die neuen und installierten Versionen aus und lädt nur die Dateien hoch, die sich geändert haben.quelle
Ich benutze Git mit ein paar angepassten Hooks für die Bereitstellung. Dies hat sogar den Vorteil, dass ich mehrere Zweige für Entwickler- / Test- / Beta- / Produktionsstandorte betreiben und CI ausführen kann. Bei dringenden Patches erlaubt git immer, bestimmte Commits von einem Zweig in den nächsten auszuwählen.
quelle