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?

È stato utile?

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top