IDE con sincronizzazione del server

Sviluppando applicazioni web mi trovo spesso nella condizione di dover sviluppare in locale o su server di test nuove funzionalità che dovrò poi uploadare sul server di produzione, cioè fare il deploy.

In java questo risulta essere un problema in quanto per ogni modifica ai sorgenti dobbiamo ricompilare, impacchettare in .jar o .war (svariati mega) e nei casi peggiori (vedi tomcat configurato a cacchio) riavviare il server tomcat.

Invece con i linguaggi di script (php, perl, python ...) basta sostituire i file modificati!! Il problema si viene a creare quando l'applicazione è di centinaia/migliaia di file e più sviluppatori lavorano contemporaneamente al progetto !! Come fare?

Io ho trovato 2 possibili soluzioni:

  1. utilizzare un software per il controllo di versione dei singoli file (subversion, git)

  2. utilizzare un software per la sincronizzazione dei file remoti


Io utilizzo entrambi, e del primo non posso più farne a meno!

Il secondo lo utilizzo nei casi in cui sul server di produzione non è possibile installare un client svn.

Da 2 anni utilizzo eclipse come IDE per qualsiasi linguaggio (python, php, perl, java) e grazie alla vasta gamma di plugin disponibili ogni problema trova una soluzione.

Per tenere sincronizzati una cartella locale ed una cartella remota dovete installare il plugin WebDAV e FTP support , con la versione Ganymede basta che cerchiate webdav in Software Updates, ma se vi serve il supporto per l'SFTP dovete installare anche questo plugin oppure utilizzae Tunnelier che ha un FTP-to-SFTP
A questo punto create il vostro progetto e fate l'import (oppure se già esiste l'export) dalla cartella remota (tasto destro sul nome del progetto import o export) scegliendo Other->SFTP o FTP. Potrete scegliere quali file importare/esportare.

Adesso aprite Window->Open Perspective->Other->Team Synchronizing e nella colonna di sinistra potete scegliere Synchronize per sincronizzare i progetti precedentemente importati/esportati. Potete scegliere di visualizzare solo i file che sono stati modificati in locale (sul nome del file appare uan freccia verso destra) oppure solo sul server (freccia verso sinistra), mentre se i file che hanno un conflitto, cioè sono stati modificati sia in locale sia sul server e sono diversi, appare una freccia bidirezionale rossa.

Se cercate di eseguire l'upload di un file in conflitto vi verrà chiesta la conferma.

Per progetti grossi potete decidere di tenere solo una parte in sincronizzazione per evitare tempi lunghi quando rifate la sincronizzazione.

Questo è anche un modo per tenere traccia delle installazioni sui vari server della vostra applicazione, potendo fare un Compare con eclipse se non ricordate se sono state fatte modifiche di cui non siete a conoscenza.

Commenti