Muestra las diferencias entre dos versiones de la página.
Ambos lados, revisión anterior Revisión previa Próxima revisión | Revisión previa | ||
ada:howto:sicoferp:factory:softwareversioning:transitionalbranch [2021/06/15 19:55] 192.168.177.29 |
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 ====== | ||
- | Es una rama temporal que se define para pasos a producción criticos que aún no han sido validados al 100% por calidad o tienen tickets relacionados que no han sido probados y tiene impacto bajo en los clientes que requieren la liberación. | + | Es una rama temporal que se define para pasos a producción criticos que aún no han sido validados al 100% por calidad o tienen tickets relacionados que no han sido probados y tienen impacto leve o moderado en los clientes que requieren la liberación. |
===== Tipos de Impacto ===== | ===== Tipos de Impacto ===== | ||
Línea 10: | Línea 10: | ||
|Crítico|Afecta la operación de procesos reelevantes del cliente| | |Crítico|Afecta la operación de procesos reelevantes del cliente| | ||
- | ===== Condiciones ===== | + | ==== Observación ==== |
- | A continuación se listan la condiciones previas que se deben cumplir para optar por la utilización de la rama transitoria. | + | Los tipos de impacto deben ser utilizados para evaluar el tipo de afectación en los clientes. |
- | * La solución a liberar o soluciones vinculadas((Tickets asociados)) aun no han sido validada(s) por calidad en su totalidad. | + | ===== Tipos de Complejidad ===== |
- | * Las soluciones vinculadas((Tickets asociados)) tienen impacto [[#Tipos de Impacto|Leve o Moderado]] en los clientes que se realizará la liberación. | + | A continuación se listan los tipos de complejidad que deben ser considerados en las liberaciones de la rama transitoria. |
+ | ==== Complejidad: Baja ==== | ||
+ | Cambios sencillos o simples en el código como: | ||
- | Tener presente el siguiente ejemplo como referencia: **12.5.2.5.001IC** | + | * 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. |
+ | * Ajustes visuales en ventanas o formularios: Esto cubre ajustes de formato, agregar un campo oculto, ampliar tamaños. | ||
+ | * Ajustes a funcionalidades de [[#Tipos de Impacto|impacto leve]]. | ||
- | ^Versión Tecnología^Release Tecnología^Versión del Módulo^Release Módulo^Número de Actualización^Tipo de Actualización^ | + | ==== Complejidad: Media ==== |
- | |12|5|2|5|001|IC| | + | Cambios intemedios en el código como: |
- | Donde: | + | * 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. | ||
- | - **Versión Tecnología**: Versión de la tecnología utilizada la construcción, soporte y mantenimiento de la solución. | + | * La solución a liberar y/o 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)). |
- | - **Release Tecnología**: Release de la versión de la tecnología. | + | * Las soluciones vinculadas((Tickets asociados)) tienen impacto [[#Tipos de Impacto|Leve o 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. |
- | - **Versión Módulo**: Se actualiza cuando se implementa un nuevo sub-modulo. | + | * Autorización del Lider del Producto((La autorización debe estar registrada en el ticket antes de la actualización de la rama)). |
- | - **Release de la Versión del Módulo**: Cambios en el módulo que afecten componentes principales o compartidos. | + | * Autorización del Jefe de Fábrica((La autorización debe estar registrada en el ticket antes de la actualización de la rama)). |
- | - **Número de la Actualización**: Evolución semanal del release de la versión del módulo. | + | * Autorización del cliente: Se le debe indicar el impacto que puede generar esa actualización (retraso de otras liberaciones, errores en opciones, etc). |
- | - **Tipo de Actualización**: Tipo de actualización((ver la siguiente tabla de clasificación a continuación)). | + | |
- | ===== Tipos de Actualizaciones ===== | + | ===== Proceso de Generación Rama Transitoria ===== |
+ | A continuación se describe el proceso de generación de la rama transitoria: | ||
- | ^Tipo de Actualización^Nombre^Descripción^ | + | - **Solución a liberar**: Cumplir las [[#Condiciones|Condiciones]] de generación. |
- | |I|Incidencias|Reportadas por el cliente (Por lo general errores que requieren modificación de código)| | + | - **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)) |
- | |M|Ajustes Internos/Mejoras|Ajustes generados por la fabrica para ajustar o mejorar un componente.| | + | - **Calidad (QA)**: Bloquea la rama trunk completamente para evitar actualizaciones no controladas. |
- | |S|Solicitudes de Cambios|Generadas por clientes o usuarios internos (Por lo general son nuevos procesos)| | + | - **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)). |
- | |C|Cambios en el Core|Ajustes internos al core o framework que soporta la solución| | + | - **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 o 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 o 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]] |