Últimamente he estado leyendo mucho sobre varios procesos de implementación de aplicaciones web usando SVN o GIT, con miras a rediseñar cómo implementamos actualmente donde trabajo.
Como es el camino con muchos sabores de Agile, se supone que cualquier cosa comprometida con master o trunk está lista para la producción. Tanto GitHub como Etsy, http://codeascraft.etsy.com/2010/05/20/quantum-of-deployment/ dicen que funcionan sobre esta base (aunque Etsy realmente tiene un entorno de preparación).
Este proceso supone que todas las pruebas unitarias y las pruebas de CI se han ejecutado. Ejecuta las pruebas localmente y en CI y luego se compromete a troncal. Entonces, en este punto, su código es técnicamente sólido.
Su código puede ser técnicamente correcto, pero las pruebas de usuario / funcionales pueden descubrir más errores, particularmente cuando se trata de pruebas frontales.
Mi pregunta es esta ¿Dónde prueban los propietarios de QA y Business los cambios en las funciones que ha implementado? ¿En su máquina de desarrollo local antes de comprometerse con el tronco o en una máquina de control de calidad / preparación?
Si tiene una máquina de preparación que se ejecuta fuera de la troncal, y asume que todo el código comprometido con la troncal está listo para la producción ... eh ... entonces, ¿en qué punto está cerrado el código y es bueno para entrar en producción tanto desde el punto de vista técnico como comercial? ¿perspectiva? Si solo tiene una máquina de preparación, muchos desarrolladores y ahí es donde debe codificarse el código de calidad, entonces, ¿cómo puede implementar desde el tronco ya que muchos cambios de desarrollador pueden estar esperando la aprobación?
Me interesaría saber cómo otros han abordado esto.