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]] | ||