Migliorare il nostro ambiente di sviluppo sul lavoro
-
22-07-2019 - |
Domanda
Nel prossimo futuro avrò circa 2 settimane per spostare e migliorare il nostro ambiente di sviluppo sul lavoro.
Sviluppiamo principalmente un grande progetto PHP / MySQL con sviluppatori 2-10.
Al momento abbiamo un server dev, che esegue apache con mod_userdir, ogni dev ha una cartella / public_html nella sua casa (accessibile da samba). Per VCS e Project Management / Issuetracking utilizziamo Subversion e Trac. Il test / implementazione richiede alcuni passaggi manuali, non molta automazione lì.
I miei piani per la nuova installazione includono le seguenti modifiche alle cose esistenti:
- Integrazione continua
- Integra CI in Trac, crea / trova un plug-in che offre l'avvio di azioni in seguito a esito positivo o negativo dell'avanzamento della compilazione (ovvero distribuzione in staging / live)
- Crea script di distribuzione automatizzati (un clic)
- Integra ( doxygen ) -Documentazione nel progresso della costruzione e in qualche modo in Trac
- Aggiungi versioning automatico
- Aggiungi un altro livello di monitoraggio (nagios locali che monitorano i nostri nagios del sistema di produzione)
- Aggiungi un MySQL Replication Slave in esecuzione di notte, che può quindi essere utilizzato dagli sviluppatori per testare cose su dati aggiornati2
- Rivedi i piani di backup
- Documenta come e perché ho impostato tutto in questo modo
Hai qualche suggerimento / suggerimento che cosa può essere ulteriormente migliorato? Qualcosa che dovremmo fare in modo diverso?
Soluzione
Mi assicurerei di scrivere i tuoi script di distribuzione automatizzata in modo tale che possano essere utilizzati dal tuo strumento di integrazione continua. Hudson (e sospetto da CruiseControl) fondamentalmente avvolgono questi script e forniscono un front-end elegante.
Hundson è facile da installare e include un plugin Trac , SVN, CVS, plugin Git e un Doxygen e altri per quasi tutto puoi pensare. Avvertenza: non ho usato tutti questi plugin e potrebbero non fare esattamente quello che vuoi ...
Se hai un budget per il software CI, vale la pena dare un'occhiata a TeamCity (o stai utilizzando Bitten ?).
Hai una grande opportunità, quindi buona fortuna!
Altri suggerimenti
Il mio unico suggerimento non sarebbe di passare troppo tempo su
- Documenta come e perché ho impostato tutto in questo modo
Questo è l'ultimo elemento del mio elenco per migliorare il nostro ambiente di sviluppo e non l'ho ancora fatto.
Ogni parte viene sempre modificata o migliorata per fornirci una migliore funzionalità o un utilizzo più semplice. Suggerirei di provare a mantenere il " perché " come commenti il ??più vicino possibile a dove lo si implementa. Questo è l'unico posto in cui qualcuno avrà bisogno di cambiare il tuo sistema.
Forse anche un grande diagramma che mostra i collegamenti e i nomi dei server fisici, ma a parte questo ho trovato che la documentazione è una seccatura.
Saluti