Git Produktion / Staging-Server-Workflow
-
27-09-2019 - |
Frage
Zur Zeit meiner Website (Produktionsserver) hat bereits eine Menge Code in ihm. Und jetzt will ich mit Git für meine Projekte und das Setup eines Staging-Server für mein Team starten. Kann jemand mir gibt jede beraten?
Hier ist das Bild in meinem Kopf:
Production - Production server which already have codes
↑
Staging - New staging server, will install Trac too
↗↙ ↖↘
Developer1 Developer2 - Local development
Meine Frage ist, wie soll ich anfangen?
Hier sind einige Schritte in meinem Kopf:
- Sie eine
git init
in Produktionsserver (ist das sicher?) -
clone
die repo von Produktionsserver Staging - Entwickler
clone
die repo von der Inszenierung ihrer lokalen Maschine -
push
Dateien auf den Testserver nach dem Beenden Ändern - wenn Staging ist bereit,
push
alles auf die Produktion
Ist diese Arbeit fließt Sinn macht, oder es gibt einigen besseren Weg, es zu tun?
Was passiert, wenn ich nur eine Datei ändern?
Does Herkunft / Master hat nichts damit in diesem Prozess zu tun ?? Wer ist der Ursprung? werde ich mehrere Ursprünge am Ende mit ??
Auch wenn sollte ein Entwickler Verwendung branch
in diesem Fall?
Lösung
Es ist besser zu Einsatz master-Zweig nur für Produktions- und Entwicklungszweig für Staging. Jeder Entwickler soll lokalen Zweig erstellen, um neue Funktionen hinzuzufügen und dann mit Entwicklungszweig verschmelzen. Wenn Sie zu einem git neu sind, versuchen zu nutzen - http://github.com/nvie/gitflow Es gibt auch gutes Bild git Verzweigung Modell beschreiben - http://nvie.com / Beiträge / a-erfolgreich-git-Verzweigung-Modell /
Andere Tipps
sieht Ihr Vorschlag ok, aber ich würde die Entwickler Push direkt auf den Staging-Server nicht zulassen. Stattdessen wird ein Integrator sollte sorgfältig Zweige überprüfen und sie in den Hauptzweig übernehmen (oder Entwicklungszweig, wenn Sie das git-Flow-Modell verwenden, wie von BUG vorgeschlagen.) * Die gleiche Person auf den Testserver drücken würde.
1. tut einen git init in Produktionsserver (wird diese sicher?)
Ja, es ist sicher, aber man natürlich sehr restriktive Berechtigungen festlegen hat auf dieser Repo.
Ich würde wahrscheinlich von curl
ing die gesamte Website auf eine lokale Festplatte beginnen, wenn ich es schon nicht haben.
2. Klon der Repo von Produktionsserver Staging
Sie sollten wahrscheinlich eine „zentrale“ haben Repo sowohl aus der Produktion und dem Staging-Server zu trennen. Dass man geklont und geschoben werden, je nach Bedarf.
3. Entwickler klonen den Repo aus der Inszenierung ihrer lokalen Maschine
4. Push-Dateien auf den Testserver nach dem Beenden Ändern
5. wenn Inszenierung ist bereit, Push alles auf die Produktion
Ersetzen „staging“ mit „zentral“ und ich glaube, dir ist in Ordnung, aber ein größeres Problem ist, wie Sie mit Niederlassungen arbeiten werden und Merging, wie BUG Punkte aus.