jeko
Lounge-Member
Hallo zusammen,
ich arbeite zur Zeit zusammen mit anderen Programmierern an einer Web-Applikation die sich auf PHP und MySQL-Datenbanken stützt.
Wir stossen dabei vermehrt auf das Problem, wenn zwei oder mehr Personen das gleiche Verzeichnis / die gleiche Klasse / das gleiche Modul oder im allgemeinen die gleiche Datei bearbeiten, dass Person A die Änderungen von Person B zwangsläufig überschreibt. Um diese Problem zu umfahren, haben wir uns zum Teil auf verstärkte IM-Kommunikation konzentriert und ein Script geschrieben, dass automatisch den Dateibaum auf dem Server nach Änderungen durchsucht und diese mitsamt Dateipfad und Zeitstempel ausgibt.
Wie man sich aber denken kann, ist dieses Verfahren sehr aufwändig; die Kette ist nur so stark wie ihr schwächstes Glied, was in diesem Fall soviel bedeutet, dass das ganze System seinen Dienst nicht erfüllen kann, wenn der Programmierer nicht regelmässig die Dateiänderungsliste konsultiert – es zwingt ihn ja niemand dazu, bzw. kann ihn nichts von einem unüberlegten Dateiupload auf den Server abhalten.
Mit dieser Erkenntnis haben wir uns schliesslich nach einem SVN-ähnlichen Service umgesehen (denn unser Shared Hoster stellt keinen solchen); SVN sollte ja eben solche Probleme lösen. Die Wahl fiel auf Github, dass ja derzeit in aller Munde ist und in fast jedem aktuellen Techtalk über den Bildschirm flackert.
Allerdings haben wir neben kleinen Anfangsschwierigkeiten auch das Problem, dass wir keine Ahnung haben, wie wir dieses System effizient nutzen können; wie muss man sich so einen allgemeinen Workflow im Bereich des Webdevelopments vorstellen?
Der Source kann ja auf Github liegen, aber wenn wir neue Module schreiben bzw. Core-Files ändern, ist es ja wichtig diese testen zu können - und dazu müssen sie über kurz oder lang zwangsläufig auf einen Server geladen werden um realitätsnahe Tests zu ermöglichen. Wo muss man jetzt mit Github ansetzen?
Was ich mir am ehesten vorstellen könnte, wäre eine Testumgebung, auf welcher getestet wird, dann die Änderungen ins Github-Repo gespiegelt werden und in regelmässigen Abständen das Github-Repo auf den Live-Server gespiegelt wird. Dieser Überlegung folgend stosse ich aber erneut auf das geschilderte Problem - was wenn zwei oder mehr Personen auf dem Testserver arbeiten?
Hat da jemand Erfahrungen mit?
Grüsse
jeko
ich arbeite zur Zeit zusammen mit anderen Programmierern an einer Web-Applikation die sich auf PHP und MySQL-Datenbanken stützt.
Wir stossen dabei vermehrt auf das Problem, wenn zwei oder mehr Personen das gleiche Verzeichnis / die gleiche Klasse / das gleiche Modul oder im allgemeinen die gleiche Datei bearbeiten, dass Person A die Änderungen von Person B zwangsläufig überschreibt. Um diese Problem zu umfahren, haben wir uns zum Teil auf verstärkte IM-Kommunikation konzentriert und ein Script geschrieben, dass automatisch den Dateibaum auf dem Server nach Änderungen durchsucht und diese mitsamt Dateipfad und Zeitstempel ausgibt.
Wie man sich aber denken kann, ist dieses Verfahren sehr aufwändig; die Kette ist nur so stark wie ihr schwächstes Glied, was in diesem Fall soviel bedeutet, dass das ganze System seinen Dienst nicht erfüllen kann, wenn der Programmierer nicht regelmässig die Dateiänderungsliste konsultiert – es zwingt ihn ja niemand dazu, bzw. kann ihn nichts von einem unüberlegten Dateiupload auf den Server abhalten.
Mit dieser Erkenntnis haben wir uns schliesslich nach einem SVN-ähnlichen Service umgesehen (denn unser Shared Hoster stellt keinen solchen); SVN sollte ja eben solche Probleme lösen. Die Wahl fiel auf Github, dass ja derzeit in aller Munde ist und in fast jedem aktuellen Techtalk über den Bildschirm flackert.
Allerdings haben wir neben kleinen Anfangsschwierigkeiten auch das Problem, dass wir keine Ahnung haben, wie wir dieses System effizient nutzen können; wie muss man sich so einen allgemeinen Workflow im Bereich des Webdevelopments vorstellen?
Der Source kann ja auf Github liegen, aber wenn wir neue Module schreiben bzw. Core-Files ändern, ist es ja wichtig diese testen zu können - und dazu müssen sie über kurz oder lang zwangsläufig auf einen Server geladen werden um realitätsnahe Tests zu ermöglichen. Wo muss man jetzt mit Github ansetzen?
Was ich mir am ehesten vorstellen könnte, wäre eine Testumgebung, auf welcher getestet wird, dann die Änderungen ins Github-Repo gespiegelt werden und in regelmässigen Abständen das Github-Repo auf den Live-Server gespiegelt wird. Dieser Überlegung folgend stosse ich aber erneut auf das geschilderte Problem - was wenn zwei oder mehr Personen auf dem Testserver arbeiten?
Hat da jemand Erfahrungen mit?
Grüsse
jeko