Pregunta

Estoy en SMC y el trabajo con una variedad de herramientas (Subversion, Clearcase, TFS, Perforce) y tecnologías (.NET, Java en su mayoría). Antes de empezar el trabajo, el orden normal de las operaciones era crear una rama controlada.

I definir controlado rama como: -Una rama separada que contiene el código que los desarrolladores no pueden acceder promovido. Sólo un equipo de ingenieros de construcción tienen acceso a este.

acumulación controlada: motor -Construir que tiene código de la ramificación controlada y produce una desarrolladores de artefactos no son capaces de modificar.

Como resultado, la fusión en esta rama se ha convertido en un importante paso como parte de un proceso de generación controlada. Esto puede crear problemas tanto con la velocidad y los errores (que será mitigado en su mayoría por la automatización).

Beneficios: Código de bloqueo automático (ya que los desarrolladores no pueden modificar rama) nombres rama puede ser diferente (otros equipos no necesariamente siguen las prácticas estandarizadas y que no necesariamente son capaces de ejercer la presión necesaria.) manera fácil de averiguar el estado de código versión exacta (es decir, el último código en la rama controlada para una versión es lo que salió a prod)

Los inconvenientes: Velocidad a juego con dev construye controlado construye cuando se habla de los problemas con los desarrolladores (esto es automático, pero un poco desordenado). Errores (otro lugar para meter la pata en el proceso) ¿Puede la funcionalidad de seguridad separación / papel será totalmente manejado mediante el uso de listas de cambios / Cambios / etiquetas inmutables?

Preguntas:

Debo recomendar pasar de la estrategia de corriente controlada rama? Me estoy perdiendo otros beneficios?

¿Fue útil?

Solución

Yo no recomendaría el uso de ramas como mecanismo de promoción, a menos que la intención de hacer muchas modificaciones desde el ser etiqueta fusionado a dicha rama.
Un debe aislar un esfuerzo de desarrollo (es decir, algo que los archivos se modifican y nuevas versiones comprometidas)

Una etiqueta asociada con algún tipo de metadatos (atributos ClearCase, propiedades SVN, Git notas, ...) debería ser suficiente para controlar la promoción de dicha etiqueta (con su contenido inmutable) a través de los diversos niveles de promoción.

Otros consejos

Utilizamos una rama controlada (MAIN) como nuestra rama oficial de montaje. Los desarrolladores sólo se permite el acceso a esta rama a través de la fusión de la operación de la rama de desarrollo. Por otra parte, PRINCIPAL código de sucursal se fusiona a una rama Arreglado, que se dedica a la corrección de errores para nuestra versión actual del software, y una rama PROD, donde el código se etiqueta en función de cada versión.

Soy de la opinión de que cualquier cosa que se va a construir para probar (y en última instancia) con fines de producción no deben tener acceso desarrollador casual, y debe ser gestionado por un administrador de SMC u otro tipo de papel bibliotecario.

Cuando tenemos problemas de construcción dentro de nuestra rama principal, también son inflexibles acerca de tener esos errores corregidos dentro de la rama de desarrollo por los desarrolladores y tener la resolución incluido de nuevo en nuestras políticas principales dentro de SCM.

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