Eclipse / Aptana Datei-Sync-Lösungen

8

Unser Entwicklungsteam verwendet Eclipse + Aptana für ihre Web-Entwicklungsarbeit. Momentan mappen die meisten ihre Eclipse-Projekte direkt auf den Webserver. Ich würde es lieber, wenn sie ein lokales Projekt erstellen und dieses zum Synchronisieren mit dem Webserver-Projektverzeichnis verwenden, an dem sie arbeiten.

Das Problem ist, dass es keine guten Lösungen gibt, die angesichts der Beliebtheit der beiden einfach entsetzlich sind.

Das FileSync-Plugin für Eclipse ist nur in einer Richtung. Das heißt, wenn ein anderer Entwickler eine Änderung an der Datei auf dem Server vornimmt, wird ein anderer Entwickler nicht einmal benachrichtigt und könnte die Änderung überschreiben.

Die Dateiübertragungsoption in Aptana 2.0 unterstützt keine Art von Synchronisierung, sondern nur das manuelle Hoch- und Herunterladen von Dateien.

Die Sync-Option in Aptana 1.5.1 ermöglicht es Ihnen nicht, Dateien zusammenzuführen, wenn sie unterschiedlich sind. Sie können nur das eine oder das andere aktualisieren. Es erlaubt Ihnen jedoch, ein diff zu sehen (aber nur wenn Sie mit der rechten Maustaste klicken und auswählen) und in diesem diff können Sie keine Änderungen vornehmen.

Ich habe einen Weg gefunden, Dateien mit Eclipse Monkey in ihre Sync-Repositories in Aptana hochladen zu können. Es funktioniert jedoch nicht, wenn ein Benutzer mehrere Dateien auf einmal speichert, "Alle speichern", wieder funktioniert es nicht. Darüber hinaus gibt es keine Benachrichtigung, wenn ein Benutzer eine lokale Datei mit einer aktualisierten Kopie auf dem Server öffnet. Ich habe versucht, eine mit Eclipse Monkey hinzuzufügen, aber ich konnte keine Art von Listener in der Eclipse API finden, um es zu tun, und jede Eclipse Monkey Dokumentation ist weit und wenig zwischen.

Meine einzige Lösung an diesem Punkt ist, sie einfach weiterzumachen, um sie direkt auf den Server zu mappen, oder sie manuell zu laden, bevor sie irgendwelche Arbeiten machen (aber was wiederum, wenn jemand eine Änderung direkt danach hochlädt).

Hat jemand Ideen?

    
Brad 07.04.2010, 20:50
quelle

2 Antworten

4

April 2010

Fügen Sie EGit zu Ihrem Eclipse + Aptana-Setup hinzu und:

  • lassen Entwickler zu einem drängen local bare Repo deren Entwicklungen (siehe auch diesen Beitrag )
  • Lassen Sie Ihr lokales Projekt von einem git pull aus demselben lokalen bare Repo (Erstellen / Aktualisieren) eines lokalen Arbeitsverzeichnisses mit zusammengeführten / aktualisierten Quellen aktualisieren (oder verwenden Sie einen Post-Update-Hook wie in meine vorherige SO-Link )
  • Lassen Sie Ihr lokales Aptana + Eclipse (+ EGit) auf das lokale Arbeitsverzeichnis verweisen, das auch von Ihrem Webserver verwendet wird.

Kurz gesagt, wenn Sie von Dateisynchronisierung + Zusammenführungen sprechen, ist dies ein Job für ein (D) VCS ( Versionskontrollsystem : Zentralisiert oder Distributed VCS )

Okt 2011: wie xmedeko in den Kommentaren erwähnt, Aptana3 hat sein eigenes Git-Plugin .
Und es ist nicht sehr kompatibel mit EGit: Siehe Bug 1988 .

    
VonC 08.04.2010, 06:50
quelle
1

Zu VonC-Antwort hinzufügen (was IMHO korrekt ist), was wahrscheinlich unter diesem Szenario liegt, ist, dass der Prozess , den Sie übernommen haben, abgesehen von den verwendeten Tools nicht korrekt ist.

Wenn ich es gut verstanden habe, sollten Sie keinen direkten Upload von einer Entwicklungsversion des Projekts auf den Webserver erlauben oder durchführen. Das Zusammenführen ist kein Job für Remote-Synchronisierungstools und sollte weit vor der Bereitstellungsphase erfolgen (das Hochladen auf den Webserver ist praktisch eine Bereitstellung).

Sie sollten ein dediziertes Repository von einem Punkt im Entwicklungsverlauf (entsprechend Ihrer Veröffentlichungszeitleiste) haben, ein Punkt, an dem die Zusammenführung bereits stattgefunden hat. Dann stellen Sie es (mittels Dateisynchronisation, wenn Sie wollen, aber das ist nicht obligatorisch) auf einem lokalen / Staging-Webserver bereit.

Führen Sie dort jeden Test durch, den Sie auf der Website aktiv ausführen (d. h. Integrations- und / oder Funktionstests). Wenn es einen Bug & amp; Fixing, nun gibt es verschiedene Möglichkeiten, die Fixes für die Entwicklung & amp; Staging-Code-Repository. Erst danach stellen Sie das Staging-Repository auf dem Produktions-Webserver bereit (auch hierfür sind Synchronisationstools möglich).

    
superjos 11.06.2012 16:16
quelle