Pregunta

En un futuro cercano tendré unas 2 semanas para moverme y mejorar nuestro entorno de desarrollo en el trabajo.

Desarrollamos principalmente un gran proyecto PHP / MySQL con 2-10 desarrolladores.

En este momento tenemos un servidor de desarrollo, que ejecuta apache con mod_userdir, cada desarrollador tiene una carpeta / public_html en su casa (accesible para samba). Para VCS y Project Management / Issuetracking utilizamos Subversion y Trac. La prueba / implementación toma algunos pasos manuales, no hay mucha automatización allí.

Mis planes para la nueva configuración incluyen los siguientes cambios en las cosas existentes:

  • Integración continua
  • Integre CI a Trac, cree / encuentre un complemento que ofrezca iniciar acciones después del éxito o el fracaso del progreso de la compilación (es decir, implementar en la puesta en escena / en vivo)
  • Crear scripts de implementación automatizados (un clic)
  • Integrar ( doxygen ) -Documentación en el progreso de construcción y de alguna manera en Trac
  • Agregue versiones automáticas
  • Agregue otra capa de monitoreo (nagios locales que monitorean nuestros nagios de sistema de producción)
  • Agregue un MySQL Replication Slave que se ejecuta todas las noches, que luego los desarrolladores pueden usar para probar cosas en los datos de up2date
  • Revisar los planes de respaldo
  • Documente cómo y por qué configuré todo de esta manera

¿Tiene algún consejo / sugerencia sobre qué se puede mejorar aún más? ¿Algo que deberíamos hacer de otra manera?

¿Fue útil?

Solución

Me aseguraría de que escriba sus scripts de implementación automatizados de manera que su herramienta de integración continua pueda utilizarlos. Hudson (y CruiseControl sospecho) básicamente envuelven estos scripts y proporcionan un ingenioso front-end.

Hundson es fácil de instalar y viene con un complemento Trac , SVN, CVS, complementos de Git y un Doxygen y otros para casi cualquier cosa Tu puedes pensar en. Advertencia: no he usado todos estos complementos y es posible que no hagan exactamente lo que quieres ...

Si tiene un presupuesto para el software de CI, entonces vale la pena echar un vistazo a TeamCity (o está utilizando Bitten ?).

Tienes una gran oportunidad, ¡así que buena suerte!

Otros consejos

Mi única sugerencia no sería pasar mucho tiempo en el

  • Documente cómo y por qué configuré todo de esta manera

Este es el último elemento en mi lista para mejorar nuestro entorno de desarrollo y todavía no lo he hecho.

Cada parte siempre se modifica o mejora para proporcionarnos una mejor funcionalidad o un uso más fácil. Sugeriría tratar de mantener el " por qué " como comentarios tan cerca de donde realmente lo implementes como puedas. Este es el único lugar donde alguien que cambia su sistema lo necesitará.

Quizás también un gran diagrama que muestra enlaces y nombres de servidores físicos, pero aparte de eso, he encontrado que la documentación es una molestia.

Saludos

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top