8 votes

Solutions de synchronisation de fichiers Eclipse / Aptana

Notre équipe de développement utilise Eclipse + Aptana pour effectuer son travail de développement web. Actuellement, la plupart d'entre eux mappent leurs projets Eclipse directement sur le serveur web. Je préférerais qu'ils créent un projet local et l'utilisent pour se synchroniser avec le répertoire de projet du serveur web sur lequel ils travaillent.

Le problème est qu'il n'y a pas de bonnes solutions, ce qui est tout simplement consternant compte tenu de la popularité des deux.

Le plugin FileSync pour Eclipse est uniquement à sens unique. Cela signifie que si un autre développeur apporte une modification au fichier sur le serveur, il n'en est même pas informé et peut écraser la modification.

L'option de transfert de fichiers dans Aptana 2.0 ne supporte aucune sorte de synchronisation, seulement le chargement/téléchargement manuel de fichiers.

L'option Sync dans Aptana 1.5.1 ne vous permet pas de fusionner des fichiers lorsqu'ils sont différents. Vous pouvez seulement mettre à jour l'un ou l'autre. Elle vous permet cependant de visualiser une différence (mais seulement si vous faites un clic droit et sélectionnez) et dans cette différence vous ne pouvez pas faire de changements.

J'ai trouvé un moyen de permettre aux fichiers d'être téléchargés vers leurs dépôts Sync dans Aptana en utilisant Eclipse Monkey. Cependant, cela ne fonctionne pas si un utilisateur enregistre plusieurs fichiers à la fois, 'Save All', encore une fois cela ne fonctionne pas. Et de plus, il n'y a pas de notification si un utilisateur ouvre un fichier local qui a une copie mise à jour sur le serveur. J'ai essayé d'en ajouter une à l'aide d'Eclipse Monkey, mais je n'ai trouvé aucune sorte d'écouteur dans l'API d'Eclipse pour le faire et la documentation d'Eclipse Monkey est très rare.

Ma seule solution à ce stade est de les laisser continuer à mapper directement sur le serveur ou de leur demander de procéder à un téléchargement manuel avant de faire quoi que ce soit (mais encore une fois, que se passe-t-il si quelqu'un télécharge une modification juste après qu'ils aient fait cela).

Quelqu'un a une idée ?

4voto

VonC Points 414372

Avril 2010

Ajouter EGit à votre installation Eclipse+Aptana, et :

  • permettent aux développeurs de pousser vers un repo local nu leurs développements (voir également ce poste )
  • laisser votre projet local être mis à jour par un git pull à partir de ce même repo local nu (création/mise à jour) un répertoire de travail local avec les sources fusionnées/mises à jour (ou en utilisant un hook post-update comme décrit dans mon lien SO précédent )
  • laissez votre Aptana+Eclipse(+EGit) local référencer ce répertoire de travail local, également utilisé par votre serveur web.

En bref, lorsque vous parlez de synchronisation + fusion de fichiers, c'est un travail pour un (D)VCS ( Système de contrôle des versions : Centralisé ou VCS distribué )


Oct. 2011 : comme xmedeko dans les commentaires, Aptana3 a sa propre Plugin Git .
Et il n'est pas très compatible avec EGit : Voir bug 1988 .

1voto

superjos Points 2770

En complément de la réponse de VonC (qui est correcte, à mon avis), ce qui se cache probablement derrière ce scénario est que le processus que vous avez adoptée n'est pas correcte en soi, hormis les outils utilisés.

Si j'ai bien compris, vous ne devez pas autoriser ni effectuer un téléchargement direct d'une version de développement du projet vers le serveur web. La fusion n'est pas un travail pour les outils de synchronisation à distance, et elle devrait avoir lieu bien avant la phase de déploiement (le téléchargement vers le serveur web est pratiquement un déploiement).

Vous devriez avoir un dépôt dédié pris à un moment donné dans l'histoire du développement (selon votre calendrier de publication), un moment où la fusion a déjà eu lieu. Ensuite, déployez-le (au moyen de la synchronisation des fichiers si vous le souhaitez, mais ce n'est pas obligatoire) sur un serveur web local/staging.

Effectuez tout test que vous exécutez sur le site Web en cours d'exécution (c'est-à-dire des tests d'intégration et/ou fonctionnels). S'il y a des bogues à corriger, il y a différentes façons d'appliquer les corrections sur le dépôt de code de développement et de mise à disposition. Ce n'est qu'après cela que vous déployez le dépôt d'essai sur le serveur Web de production (là encore, les outils de synchronisation sont un moyen de le faire).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X