Quali sono alcuni modi efficaci per configurare il mio ambiente quando si lavora su un sito remoto?

1

Salve colleghi programmatori,

Sono ancora un programmatore relativamente nuovo e di recente ho ottenuto la mia prima posizione di programmazione nel campus. Sono l'unico responsabile per 8 domini e 3 web app PHP di piccole dimensioni.

Il campus ha il suo ambiente web diviso in server di staging e live - sviluppiamo nella staging tramite SFTP e poi trasferiamo gli aggiornamenti al server live attraverso una GUI Web.

Uso Sublime Text 2 e il plug-in SFTP Sublime attualmente per tutti i miei lavori di sviluppo (il mio editor preferito). Se faccio solo una modifica a una pagina, aprirò quel singolo file tramite il browser ftp. Se sto lavorando ai progetti di app Web PHP, ho la directory app mappata su una cartella locale in modo che quando salvi localmente il file venga caricato automaticamente tramite SFTP Sublime.

Mi sembra che questo flusso di lavoro sia lento e non ottimale. Come posso migliorare il mio flusso di lavoro per lavorare con i contenuti remoti? Mi piacerebbe creare un ambiente locale sulla mia macchina in quanto eliminerebbe il caricamento / download costante di SFTP, ma come ho detto ci sono molti siti e lo spazio richiesto per una copia locale dell'intero dominio sarebbe abbastanza grande e complesso ; per non parlare del fatto che tenerlo aggiornato con qualsiasi cosa sia l'ultima sul server di staging sarebbe un incubo.

Qualcuno sa come posso migliorare il mio flusso di lavoro di sviluppo web generale da quello che ho descritto? Mi piacerebbe molto ritagliare costantemente la modifica tramite FTP, ma non sono sicuro da dove iniziare se non rippare l'intera directory e scaricarla in XAMP.

    
posta Prefix 02.11.2013 - 06:16
fonte

1 risposta

1

keeping it updated with whatever the latest on the staging server is would be a nightmare.

Non dovrebbe essere un incubo, dovrebbe essere banale. Come minimo dovresti usare il controllo di versione per automatizzare gran parte di questo. In questi giorni vorrei iniziare con git o mercurial.

Qualsiasi programmatore professionista dovrebbe scappare urlando inorridito da un lavoro che non usa il controllo della versione in qualche modo. È qualcosa che ti serve nella tua cassetta degli attrezzi "GIUSTO ORA". Il controllo della versione distribuita facilita l'impostazione da solo e anche se non è possibile ottenere il buy-in dal gruppo, almeno è possibile mantenersi sani di mente.

Mercurial (hg) è più facile da iniziare con IMHO che git, ma git è probabilmente lo standard defacto. Crea un account github per te stesso e divertiti con alcune cose semplici e noiose per farti un'idea. Oppure prova hg su bitbucket.com.

Non è necessario che entrambi i siti utilizzino questi programmi in modo efficace, ma facilitano l'avvio.

Una volta che hai il controllo della versione nella tua casella degli strumenti, la prossima cosa è avere un ambiente di sviluppo portatile. Se hai qualcosa come un laptop o una workstation abbastanza potente dovresti essere in grado di duplicare completamente l'ambiente di produzione della maggior parte delle applicazioni web.

L'uso di uno strumento come Vagrant può renderlo un semplice comando per ottenere un ambiente di test completo e funzionante. Ci vuole una buona dose di lavoro, ma questo è il mondo in cui molte persone lavorano in questi giorni. Più puoi imparare su questi strumenti, più impiegabile sarai in futuro.

    
risposta data 02.11.2013 - 20:55
fonte