Herramientas de usuario

Herramientas del sitio


ada:howto:sicoferp:factory:softwareversioning:transitionalbranch

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Próxima revisión
Revisión previa
ada:howto:sicoferp:factory:softwareversioning:transitionalbranch [2021/06/15 18:42]
192.168.177.29 creado
ada:howto:sicoferp:factory:softwareversioning:transitionalbranch [2021/08/05 13:11] (actual)
administraidor [Proceso de Generación Rama Transitoria]
Línea 1: Línea 1:
 ====== Fabrica: Versionamiento de Software - Rama de Liberación a Producción Transitoria ====== ====== Fabrica: Versionamiento de Software - Rama de Liberación a Producción Transitoria ======
-Esta sección está dedicada ​la Estructura de numeración de versión la cual está compuesta ​por una numeración de dígitos ​letras separados por puntos según ​la siguiente tabla:+Es una rama temporal que se define para pasos producción criticos que aún no han sido validados al 100% por calidad o tienen tickets relacionados que no han sido probados ​tienen impacto leve o moderado en los clientes que requieren ​la liberación.
  
-Tener presente el siguiente ejemplo como referencia: **12.5.2.5.001IC**+===== Tipos de Impacto ===== 
 +A continuación se listan los tipos de impacto que deben ser considerados en las liberaciones de la rama transitoria.
  
-^Versión Tecnología^Release Tecnología^Versión del Módulo^Release Módulo^Número de Actualización^Tipo de Actualización+^Impacto^Descripción
-|12|5|2|5|001|IC|+|Leve|No afecta la operación de procesos del cliente| 
 +|Moderado|Afecta la operación del cliente pero no de procesos reelevantes| 
 +|Crítico|Afecta la operación de procesos reelevantes del cliente|
  
-Donde:+==== Observación ==== 
 +Los tipos de impacto deben ser utilizados para evaluar el tipo de afectación en los clientes.
  
-  - **Versión Tecnología**:​ Versión ​de la tecnología utilizada la construcción,​ soporte y mantenimiento de la solución. +===== Tipos de Complejidad ===== 
-  - **Release Tecnología**:​ Release de la versión de la tecnología. +A continuación ​se listan los tipos de complejidad que deben ser considerados ​en las liberaciones ​de la rama transitoria.
-  - **Versión Módulo**: Se actualiza cuando ​se implementa un nuevo sub-modulo. +
-  - **Release ​de la Versión del Módulo**: Cambios ​en el módulo que afecten componentes principales o compartidos. +
-  - **Número ​de la Actualización**:​ Evolución semanal del release de la versión del módulo. +
-  - **Tipo de Actualización**:​ Tipo de actualización((ver la siguiente tabla de clasificación a continuación)).+
  
-===== Tipos de Actualizaciones =====+==== Complejidad:​ Baja ==== 
 +Cambios sencillos o simples en el código como:
  
-^Tipo de Actualización^Nombre^Descripción^ +  * Ajustes a columnas ​de (datawindows,​ entidades): Siempre y cuando la columna no modifique el agrupamiento de la consulta que genera el datawindow o entidad y la tabla exista previamente. 
-|I|Incidencias|Reportadas por el cliente (Por lo general errores que requieren modificación ​de código)| +  * Ajustes visuales en ventanas o formularios:​ Esto cubre ajustes de formato, agregar un campo oculto, ampliar tamaños. 
-|M|Ajustes ​Internos/​Mejoras|Ajustes ​generados ​por la fabrica para ajustar ​mejorar un componente.| +  * Ajustes a funcionalidades de [[#Tipos de Impacto|impacto leve]]. 
-|S|Solicitudes ​de Cambios|Generadas por clientes ​usuarios internos ​ (Por lo general son nuevos procesos)| + 
-|C|Cambios ​en el Core|Ajustes internos al core o framework ​que soporta ​la solución|+==== Complejidad:​ Media ==== 
 +Cambios intemedios en el código como: 
 + 
 +  * Adición de fragmentos ​de código: Esto incluye validaciones,​ Reportes. 
 +  ​* ​Ajustes ​a funcionalidades de [[#Tipos de Impacto|impacto moderado]]. 
 + 
 +==== Complejidad:​ Alta ==== 
 +Cambios grandes en el código como: 
 + 
 +  * Inclusión de nuevas funcionalidades. 
 +  * Ajustes ​a funcionalidades de [[#Tipos de Impacto|impacto crítico]]. 
 + 
 +==== Observación ==== 
 +Los tipos de complejidad deben ser evaluados antes de enviar a QA. 
 + 
 +===== Condiciones ===== 
 +A continuación se listan las condiciones previas que se deben cumplir para optar por la utilización de la rama transitoria. 
 + 
 +  * La solución a liberar y/soluciones vinculadas((Tickets asociados)) aun no han sido validada(s) por calidad en su totalidad y se requiere liberación urgente en el cliente porque se está parando la operación critica((Procesos que generan valor agregado como Facturación y/o Recaudo, Nómina, etc))
 +  * Las soluciones vinculadas((Tickets asociados)) tienen impacto [[#​Tipos ​de Impacto|Leve Moderado]] en los clientes que se realizará la liberación. Para estó se deben contar con la revisión del lider técnico del módulo. 
 +  * Autorización del Lider del Producto((La autorización debe estar registrada en el ticket antes de la actualización de la rama)). 
 +  * Autorización del Jefe de Fábrica((La autorización debe estar registrada ​en el ticket antes de la actualización de la rama)). 
 +  * Autorización del cliente: Se le debe indicar el impacto que puede generar esa actualización (retraso de otras liberaciones,​ errores en opciones, etc). 
 + 
 +===== Proceso de Generación Rama Transitoria ===== 
 +A continuación se describe el proceso de generación de la rama transitoria:​ 
 + 
 +  - **Solución a liberar**: Cumplir las [[#​Condiciones|Condiciones]] de generación. 
 +  - **Lider Configuración**:​ Generar el corte de versión de la rama **tags** (revert/​update) y copiar la rama en el directorio **transitoria**((Este directorio siempre estará en la raíz del módulo donde están las ramas branches, trunk y tags)) 
 +  - **Calidad (QA)**: Bloquea la rama trunk completamente para evitar actualizaciones no controladas. 
 +  - **Calidad (QA)**: Copiar los artefactos de la solución a la rama **transitoria** y hacer el commit((Es el mismo proceso ​que se realiza cuando se hace el paso a producción copiando los artefactos a la rama tags)). 
 +  - **Calidad (QA)**: Pasar el ticket y notifica a implantación sobre la situación de la liberación indicando los clientes que afecta la liberación. Además crea un ticket interno y lo asocia al ticket original. 
 +  - **Implantación**:​ Hace la liberación a los clientes relacionados y pasa el ticket al flujo normal de gestión. -  
 +  - **Calidad (QA)**: Una vez es validada ​la solución ​en el ambiente de validación pasar el artefacto a tags((Continua el proceso estandar de liberación a producción)). 
 +  - **Lider Configuración**:​ Una vez el cambio pasa a la rama **tags** el release de la rama **transitoria** será inactiva.
  
 ===== Notas ===== ===== Notas =====
-  * Toda actualización ​debe estar soportada ​por un ticket en el otrs el MantisBT+  * Toda liberacion transitoria (debe incluir/​listar los objetos modificados). 
-  * Toda actualización ​debe estar validada exitosamente por QA.+  * Solo aceptan liberaciones transitorias si el componente hace parte de la ruta crítica (Matriz de impacto). 
 +  * Solo se permite una rama transitoria ​por módulo. 
 +  * Las liberaciones transitorias no son acumulativas es decir solo se puede realizar una por liberación (ticket), a menos que sea actualización del mismo artefacto. 
 +  * Las liberaciones transitorias bloquean commits ​en la rama tags y trunk por lo tanto toda liberación transitoria debe ser validada antes de pasar cualquier otra solución a tags. 
 +  * El proceso de liberación transitoria se debe generar desde el flujo de calidad cuando un cliente ​varios requieren liberación de una solución urgente que aún no ha sido completamente validada o tienen tickets de soluciones relacionadas pendientes
 +  * No se debe utilizar este mecanismo de liberación para cualquier liberación ya que el objetivo es permitir a los clientes la operación de sus procesos críticos o de valor.
  
 [[ada:​howto:​sicoferp:​factory:​softwareversioning|←Volver atras]] [[ada:​howto:​sicoferp:​factory:​softwareversioning|←Volver atras]]
ada/howto/sicoferp/factory/softwareversioning/transitionalbranch.1623782535.txt.gz · Última modificación: 2021/06/15 18:42 por 192.168.177.29