successful - ¿Cómo uso git flow con un entorno de ensayo?
gitflow paper (2)
Estamos utilizando git-flow para manejar revisiones y características, con una rama de desarrollo y la rama maestra (para producción).
¿Cuál es la forma más fácil de agregar una rama de ensayo a la mezcla para que podamos validar el trabajo que está en camino a la producción desde el desarrollo y al mismo tiempo mantener la utilidad de git-flow?
Acabo de comenzar a usar git flow, pero en mi humilde opinión, la forma más sencilla es establecer la próxima versión como la rama dev
y las versiones de producción como stage
y, por ejemplo, fusionar manualmente con la rama master
(su producción real).
Entonces, en caso de que lance la versión 1.2.0 a la stage
y luego encuentre errores en su versión (4 revisiones, por ejemplo: en el CMS central, feature1, feature3 y feature4), siempre puede aplicar parches, por ejemplo, puede terminar con la versión 1.2. 4 y, finalmente, fusionarlo con la producción.
ACTUALIZACIÓN: este escenario, asumiendo que usted no tiene un mecanismo de retroceso, por lo que siempre está agregando confirmaciones para corregir, liberar características o cualquier otra cosa. Si tiene un mecanismo de retroceso, no necesita preocuparse por sus errores en su producción. Justo cuando descubre un error, utilice la función de retroceso para configurar la versión de trabajo anterior. Por ejemplo: si encuentra un error en la versión 1.2.3
vuelva a la versión 1.2.2
. Arregle el error, pruebe en dev
luego en el stage
y pase a producción como versión 1.2.4
. Así que su producción saltará de 1.2.2
directamente a 1.2.4
.
Yo diría que la puesta en escena debe basarse en una rama de lanzamiento de git flow. Después de un git flow release start
git flow release publish
, puede iniciar el trabajo de control de calidad en esa rama, incluida la implementación en un área de preparación. Cuando el trabajo de control de calidad en el área de preparación ha demostrado que el código está listo para el despliegue de producción en producción y git flow release finish
.
Si está utilizando TeamCity, puede configurar fácilmente el servidor para detectar nuevas sucursales de versión remota y configurar las compilaciones automáticamente para ellas, consulte aquí .