Mi piacerebbe migliorare il flusso di lavoro e l'architettura del mio team.
In questo momento abbiamo un server di sviluppo LAMP su cui ogni membro del team ha una sottodirectory. Lavoriamo direttamente in questa directory via LAN. C'è anche una directory "release" per quando siamo pronti per caricare tramite FTP sul server di produzione.
Usiamo un repository privato github che funge da repo centralizzato.
Esempio di flusso di lavoro giornaliero corrente di un programmatore:
Scegli una storia utente su cui lavorare dopo una rapida riunione giornaliera Apri un ramo git che prende il nome dalla storia dell'utente Lavora, commetti alcuni cambiamenti Premi su Github Quando decido di implementare, apporto le modifiche, eseguo una revisione del codice, cambio le variabili necessarie per la produzione e il caricamento via FTP. Se sono state apportate modifiche al database di sviluppo, anch'io le replica sul database del server di produzione.
Qualche idea in cui dovrei iniziare a migliorare questa situazione? Problemi attuali:
- I membri del team non possono facilmente lavorare da casa poiché devono modificare direttamente sul server di sviluppo (problemi di lag)
- Il processo di distribuzione è terribile (modifica manuale delle variabili e FTP alla produzione)
MODIFICA: Proverò ad aggiungere domande migliori.
- Impostazione di sottodirectory per ogni sviluppatore su un server di sviluppo comune: buona idea o no? Alternativa possibile: ogni sviluppatore imposta il proprio ambiente di sviluppo (utilizzando WAMP o simile) e spinge al server di test.
- Per quanto riguarda l'aspetto della distribuzione, ritengo che cambiare manualmente le variabili di configurazione e l'FTP alla produzione sia una cattiva idea. Possibile alternativa: configurare git sul server di produzione, impostare i file di configurazione in .gitignore (mantenerli manualmente direttamente sul server di produzione) e rilasciare le modifiche.
- Per gli sviluppatori remoti, dovrebbero replicare l'ambiente di sviluppo (di nuovo, WAMP o simile) ma lavorare sul database del server di sviluppo? Penso che sia meglio che copiare il database su macchine locali.