Frage

Wir haben ein PHP-Projekt, das wir einer Versionskontrolle unterziehen möchten.Im Moment arbeiten wir zu dritt an einer Entwicklungsversion des Projekts, die sich in einem externen Ordner befindet, mit dem alle unsere Eclipse-IDEs verknüpft sind und daher keine Versionskontrolle haben.

Was ist der richtige und beste Weg zur Versionskontrolle?

Wir haben ein SVN eingerichtet, müssen aber nur eine gute Möglichkeit zum Ein- und Auschecken finden, die es uns ermöglicht, auf dem Entwicklungsserver zu testen.Irgendwelche Ideen?

War es hilfreich?

Lösung

Wir waren in einer ähnlichen Situation und hier ist, was wir letztendlich getan haben:

  • Richten Sie zwei Zweige ein – den Release- und den Entwicklungszweig.
  • Fügen Sie für den Entwicklungszweig einen Post-Commit-Hook hinzu, der das Repository auf dem Entwicklungsserver bereitstellt, damit Sie es testen können.
  • Sobald Sie bereit sind, führen Sie Ihre Änderungen im Release-Zweig zusammen.Ich würde außerdem vorschlagen, dort einen Post-Commit-Hook für die Bereitstellung einzufügen.

Sie können auch individuelle Entwicklungsserver für jedes Teammitglied auf dessen Workstations einrichten.Ich finde, dass es die Dinge etwas beschleunigt, obwohl man etwas mehr Einrichtungszeit hat.

Wir mussten einen einzigen Entwicklungsserver verwenden, da wir ein proprietäres CMS verwendeten und auf Lizenzprobleme stießen.Unser Post-Commit-Hook war also ein einfacher FTP-Bot.

Andere Tipps

Das machen wir:

  • Jeder Entwickler verfügt über eine VM, die wie unser Integrationsserver konfiguriert ist
  • Der Integrationsserver bietet Platz für Trunk, jeden Benutzer und einige Steckplätze für Zweigstellen
  • Der Produktionsserver
  • In Subversion gibt es Hooks, um E-Mails zu senden, wenn Commits vorgenommen werden

Zu Beginn eines Projekts erstellt der Benutzer einen Zweig, checkt ihn auf seiner persönlichen VM aus und holt sich eine saubere Kopie der Datenbank.Sie erledigen ihre Arbeit und engagieren sich dabei.

Sobald sie in ihrem persönlichen Bereich alles erledigt haben, melden sie sich beim Integrationsserver an, checken ihren Zweig aus, führen ihre Tests durch usw.Wenn alles, was passiert, wird ihr Zweig in Trunk zusammengeführt.

Trunk wird neu aufgebaut, die gesamte Testreihe wird ausgeführt, und wenn alles gut läuft, erhält es den großen alten Gütesiegel, wird in SVN getaggt und am Ende der Nacht in die Produktion befördert.

Wenn zu irgendeinem Zeitpunkt ein Commit von jemand anderem vorgenommen wird, erhalten wir eine E-Mail und können diese Änderungen in unseren einzelnen Zweigen zusammenführen.

Bohnenstange verfügt über integrierte Post-Commit-Hooks für die Bereitstellung auf Entwicklungs-, Staging- und Produktionsservern.

Eine Möglichkeit, Subversion für die PHP-Entwicklung zu verwenden, besteht darin, ein Repository für einen oder alle drei Entwickler einzurichten und dieses Repository eher als Synchronisierungstool denn als echte Versionskontrolle zu verwenden.

Sie könnten,

  • Machen Sie ein Repo

  • Fügen Sie die gesamte PHP-Dokumentstruktur Ihres Projekts hinzu

  • Laden Sie eine Kopie dieses Repos an die richtige Stelle auf Ihrem Entwicklungsserver

  • Verwenden Sie einen SVN-Hook, der beim Festschreiben aktiviert wird

Dieser Hook aktualisiert automatisch den Inhalt des Entwicklungsservers, wenn jemand im Team Code eincheckt.

Hook wohnt in:

svn_dir/repo_name/hooks/post-commit

Und könnte so aussehen:

/usr/bin/svn up /path_to/webroot --username svn_user --password svn_pass

Dadurch wird Ihre Arbeitskopie auf dem Entwicklungsserver auf den neuesten Stand aktualisiert.

Was ist mit etwas Verteiltem?Sie können beispielsweise mit Mercurial beginnen, verschiedene Arbeitsabläufe ausprobieren und herausfinden, welcher am besten zu Ihnen passt.

Jeder von Ihnen könnte es lokal oder auf Ihrem eigenen Entwicklungsserver (oder sogar demselben mit einem anderen Port ...) ausführen.

Ein möglicher Weg (es gibt wahrscheinlich bessere Wege):

Jeder von Ihnen sollte über eine eigene ausgecheckte Version des Projekts verfügen.

Halten Sie eine lokale Kopie des Servers auf Ihrem Computer bereit und testen Sie ihn dort den ganzen Tag über.Am Ende eines jeden Tages (oder wann auch immer) führen Sie dann alles zusammen, was Sie testen möchten, checken es auf dem Entwicklungsserver aus und testen es.

Ein weiteres Tool, das Sie für die Builds verwenden können, ist TeamCity Dies ist für 20 Build-Konfigurationen kostenlos (genug für die meisten kleinen Unternehmen/Projekte). Auf diese Weise können Sie Ihre Tests ausführen und Builds planen.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top