Describa el proceso que utiliza para desarrollar aplicaciones web en un nivel no muy alto, centrándose en VC, seguimiento de errores, control de calidad, pruebas unitarias, implementación y cualquier otra cosa similar (menos el lado de la planificación/comunicación del cliente).Proceso de desarrollo de aplicaciones web: control de versiones, seguimiento de fallas, pruebas unitarias, implementación
Soy nuevo en esta área, por lo que mi ejemplo aproximado (léase: no he usado este proceso) es sin duda un abit off, por así decirlo, señale sus defectos para que pueda aprender.
Por ejemplo.
- Crear repositorio de proyectos en el servidor local SVN.
- Crear scripts de proceso por lotes/shell para las asignaciones de DNS.
- Echa un vistazo al proyecto y comienza a trabajar en la copia de trabajo local.
- Desarrolla funciones como ramas.
- Seguimiento de errores con Mantis (el enlace se compromete con los errores a través de su integración SVN (no sé si eso existe)).
- Documento sobre la marcha.
- Hacer control de calidad en la rama.
- Combínalo con el tronco cuando sea estable.
- Pruebas unitarias?
- Comprométete con el repositorio cuando la característica esté implementada y estable.
- Copia de las publicaciones de las etiquetas en el repositorio. P.ej./project/tags/rel-123/
- Use Phing para cargar en el servidor de transferencia. (Podría alguien aclarar exactamente lo que un servidor de ensayo se utiliza para la 'prueba' más allá?)
- Uso Phing con la preparación de sitio activo para actualizar, configurar DB/desplegar, etc.
Más información sobre la herramienta de comparación db personalizada, por favor? Por ejemplo, ¿compara bases de datos en vivo o alguna representación textual controlada por la versión de ellas? ¿Compara solo objetos de esquema o también datos de referencia (filas controladas por versión en tablas no editables)? –
Creamos una herramienta personalizada que hace todas las comparaciones de DB basadas en varios comandos SQL, como mostrar el estado de la tabla, mostrar el estado del procedimiento, etc. Estamos usando MySQL. Con la versión más nueva de MySQL también es posible usar information_schema. – jonstjohn