Ich musste mich jetzt zwangsweise mit dem Thema GIT beschäftigen, da bei uns die Entwicklung eines neuen Shops ansteht. Und diesmal will ich das Ganze mit einer Versionskontrolle angehen bzw. entwickeln. Server-Administration und Entwicklung ist alles kein Thema aber bei GIT stoße ich auf Neuland. Jetzt habe ich mich mal etwas eingelesen und auch schon in der Praxis etwas rumgespielt aber so ganz sicher fühle ich mich noch nicht.
Aktuell haben wir 2 Dedicated-Server. Ein Server dient als Live-Server und der 2te Server als Backup-Lösung mit einer Failover-IP, so dass man innerhalb von paar Sekunden auf den Backup-Server switchen kann. Mysql wird per Cronjob regelmäßig gesynct und für die Daten ist rsync zuständig.
Entwickeln würde ich das ganze gerne lokal. Das heißt Ubuntu VM, dedizierte Ubuntu Maschine oder einfach WAMP bzw. XAMPP. Und hier geht's schon los ... einerseits tendiere ich zu einer standalone Ubuntu Maschine die mehr oder weniger identisch mit den Servern ist ABER andererseits hätte eine Lösung wie WAMP oder XAMPP auch seine Vorteile. Ich bin an einem Rechner zugange und kann das Tool von Bitbucket (Sourcetree) nutzen.
Aber mal davon ab wollte ich nachfragen ob mein GIT-Setup, so wie ich es mir vorstelle praktikabel und vernünftig ist.
Der lokale httpdocs Ordner (mal unabhängig davon ob Ubuntu-Maschine oder WAMP) wäre mein Arbeitsverzeichnis, von wo ich aus arbeite und commite. Bei Bitbucket lege ich ein repository an und dazu 2 branches (live und beta z.B.). Auf dem Live-Server laufen 2 Domains. Die Live-Domain für die Öffentlichkeit und irgend eine Domain für die Beta-Tests.
Nun weise ich der Live-Domain/Shop den live-branch zu und der Test-Domain den beta-branch. Sagen wir nun ich hab an der order.php Datei gearbeitet und möchte diese fertige Änderungen nun live bringen. Dann würde ich die Änderungen zum beta-branch commiten und schauen (Test-Domain) ob alles auf dem Live-Server läuft.
Jetzt gehen wir davon aus das es keine Probleme gibt. Commite und pushe ich nun am besten die Änderungen direkt vom Arbeitsverzeichnis in den live-branch oder sollte ich an dieser Stelle die Änderungen vom beta-branch zum live-branch pushen? Was wäre hier die richtige Vorgehensweise?
Sehe ich das richtig das mein lokales Arbeitsverzeichnis "völlig" unabhängig von den branches agiert, außer ich pulle was vom live- oder beta branch?!
Den Backup-Server würde ich wieder auf die alte Tour mit Cronjobs und rsync auf stand halten. Oder macht es hier auch sinn mit GIT zu arbeiten?
Also kurz zusammengefasst würde es so aussehen:
Wir ihr seht, habe ich noch paar Fragezeichen über dem Kopf und hoffe das ich sie bald los werde ...
Aktuell haben wir 2 Dedicated-Server. Ein Server dient als Live-Server und der 2te Server als Backup-Lösung mit einer Failover-IP, so dass man innerhalb von paar Sekunden auf den Backup-Server switchen kann. Mysql wird per Cronjob regelmäßig gesynct und für die Daten ist rsync zuständig.
Entwickeln würde ich das ganze gerne lokal. Das heißt Ubuntu VM, dedizierte Ubuntu Maschine oder einfach WAMP bzw. XAMPP. Und hier geht's schon los ... einerseits tendiere ich zu einer standalone Ubuntu Maschine die mehr oder weniger identisch mit den Servern ist ABER andererseits hätte eine Lösung wie WAMP oder XAMPP auch seine Vorteile. Ich bin an einem Rechner zugange und kann das Tool von Bitbucket (Sourcetree) nutzen.
Aber mal davon ab wollte ich nachfragen ob mein GIT-Setup, so wie ich es mir vorstelle praktikabel und vernünftig ist.
Der lokale httpdocs Ordner (mal unabhängig davon ob Ubuntu-Maschine oder WAMP) wäre mein Arbeitsverzeichnis, von wo ich aus arbeite und commite. Bei Bitbucket lege ich ein repository an und dazu 2 branches (live und beta z.B.). Auf dem Live-Server laufen 2 Domains. Die Live-Domain für die Öffentlichkeit und irgend eine Domain für die Beta-Tests.
Nun weise ich der Live-Domain/Shop den live-branch zu und der Test-Domain den beta-branch. Sagen wir nun ich hab an der order.php Datei gearbeitet und möchte diese fertige Änderungen nun live bringen. Dann würde ich die Änderungen zum beta-branch commiten und schauen (Test-Domain) ob alles auf dem Live-Server läuft.
Jetzt gehen wir davon aus das es keine Probleme gibt. Commite und pushe ich nun am besten die Änderungen direkt vom Arbeitsverzeichnis in den live-branch oder sollte ich an dieser Stelle die Änderungen vom beta-branch zum live-branch pushen? Was wäre hier die richtige Vorgehensweise?
Sehe ich das richtig das mein lokales Arbeitsverzeichnis "völlig" unabhängig von den branches agiert, außer ich pulle was vom live- oder beta branch?!
Den Backup-Server würde ich wieder auf die alte Tour mit Cronjobs und rsync auf stand halten. Oder macht es hier auch sinn mit GIT zu arbeiten?
Also kurz zusammengefasst würde es so aussehen:
- Live-Server mit 2 Domains (meinshop.de und beta.meinshop.de).
- meinshop.de = live-branch Inhalt
- beta.meinshop.de = beta-branch Inhalt
- Lokales Arbeitsverzeichnis zum entwickeln.
Wir ihr seht, habe ich noch paar Fragezeichen über dem Kopf und hoffe das ich sie bald los werde ...