two tortoise tag subversion repositorio estructura crear branches svn deployment automation trac environment

svn - tag - tortoise merge



Mejorando nuestro entorno de desarrollo en el trabajo (2)

Me aseguraré de que escribas tus scripts de implementación automatizados de tal manera que puedan ser utilizados por tu herramienta de integración continua. Hudson (y CruiseControl, sospecho) básicamente envuelven estos guiones y proporcionan un ingenioso front-end.

Hundson es fácil de instalar y viene con un complemento de Trac , SVN, CVS, complementos de Git y un complemento de Doxygen y otros para casi cualquier cosa que se te ocurra. 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 echarle un vistazo a TeamCity (¿o está usando Bitten ?).

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

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.

Por el momento tenemos un servidor de desarrollo, ejecutando apache con mod_userdir, cada desarrollador tiene una carpeta / public_html en su hogar (accesible por Samba). Para VCS y Project Management / Issuetracking usamos Subversion y Trac. Testing / Deployment toma algunos pasos manuales, no mucha automatización allí.

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

  • Integración continua
  • Integre CI a Trac, cree / encuentre un complemento que le ofrezca iniciar acciones después de que el progreso de la construcción sea exitoso o no (es decir, despliegue en etapas / 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
  • Agregar versiones automáticas
  • Agregue otra capa de monitoreo (monitoreo de nagios locales en nuestro sistema de producción-nagios)
  • Agregue un esclavo de replicación MySQL que funcione todas las noches, que luego los desarrolladores pueden usar para probar cosas en datos up2date
  • Revise los planes de respaldo
  • Documentar cómo y por qué configuré todo de esta manera

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


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

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

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

Cada parte siempre se está modificando o mejorando para proporcionarnos una mejor funcionalidad o un uso más fácil. Sugiero tratar de mantener el "por qué" como comentarios tan cerca de donde realmente lo implemente como pueda. Este es el único lugar donde alguien que cambie su sistema lo necesitará.

Tal vez 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.

Aclamaciones