Estándar de Configuración y Gestión de Código en Repositorio
1. Propósito del procedimiento.
En este documento se especifica los estándares y el flujo del proceso normal e incidencias para la gestión de código que tendrán los repositorios en el sistema de control de versiones GIT para el caso del código fuente de los proyectos y SVN para el caso de la documentación.
Sumario
Alcance.
Abarca la especificación de repositorios, grupos y permisos en el repositorio de documentación de control de versiones SVN y los repositorios de código fuente GIT. También los flujos de procesos así como los roles involucrados.
Referencia.
TSK-FOR-016: Plan de Integración y Despliegue.
![]() | NOTA: Para mas información véase en la pagina : Repositorios GIT |
Responsabilidades.
- Encargado y Ejecutor: Encargado de Configuración/Lord Configuration (LC)
- Solicitantes: QA Manager (QAM), Líder Técnico (LT), Coordinador de Desarrollo (DC).
Definiciones
- GIT: Software utilizado para el manejo de repositorios para el código fuente.
- SVN: Subversión el cual es un software utilizado para el manejo del repositorio de documentación para los proyectos.
1 Para la Estructura de Repositorios.
1.1.- Para el control de código fuente de los proyectos que tenemos con nuestros clientes se implementaran repositorios por cada plataforma que se vaya a desarrollar utilizando el nombre del proyecto y plataforma correspondiente como se describe a continuación:
WS -> Plataforma para Web Services. FE -> Plataforma para Web. Android -> Plataforma para Android. IOS -> Plataforma para IOS.
2. Para la Creación de Grupos en el Repositorio
2.1. El acceso a los repositorios de cada plataforma se realizara mediante la creación de Grupos los cuales estarán compuestos por usuarios que serán los miembros que puedan ingresar a cada repositorio como se muestran en las figuras:
3. Para la Composición de las ramas de los repositorios de código fuente
3.1 La composición de todos los repositorios en GIT se hace por 4 ramas en las cuales se tiene el código fuente para los diversos proyectos que se desarrollan y son los que a continuación se mencionan:
- Master: Rama en donde se tiene el código fuente para el ambiente productivo.
- Development: Rama en donde se tiene el código fuente para el ambiente de desarrollo por parte de los programadores.
- QA: Rama en donde se tiene el código fuente para el ambiente de pruebas por parte del Equipo.
- HotFixes: Rama en donde se descarga el código fuente del ambiente productivo para resolver alguna incidencia que haya reportado el cliente.
- PreProduction Esta rama es opcional y se creará cuando el cliente,así lo requiera como ambiente de pruebas.No debe confundirse con un ambiente
para ejecución de pilotos.
3.2 Promoción del código entre las ramas:
Los pases de cambios sobre el código de las bases de datos a QA, reproductivo o Master se ejecutarán solo por usuarios autorizados y se realizarán con la estrategia Squash de GIT para que se genere un único Commit en la rama y sea mas sencillo obtener los cambios a ejecutar.
Politicas y Lineamientos
4. Para Grupos generales.
4.1. Existen grupos específicos los cuales tienen acceso de escritura para determinada rama del repositorio los cuales se mencionan a continuación:
- Admin: Grupo administrador del sistema el cual puede realizar cualquier cambio en el repositorio.
- LordConfiguration: Grupo que tiene acceso a los ambientes de producción, pruebas e incidencias que se lleguen a presentar en alguno de los sistemas desarrollados.
- QA: Grupo que solo tiene acceso al ambiente de pruebas.
- hotFixes: Grupo que solo tiene acceso a las incidencias que se lleguen a presentar en alguno de los sistemas desarrollados
- ProyectManager: Grupo que tiene acceso al repositorio de documentación en SVN de un determinado proyecto.
- DocumentacionGerenciaTI: Grupo gerencial que solo tiene acceso al repositorio de documentación en SVN.
4.2. Los permisos para cada rama del repositorio de asignan mediante la asignación de un grupo general de los que se describieron anteriormente de la siguiente manera:
- Rama Master: Grupos: Admin y LordConfiguration.
- Rama Development: Grupos del área de desarrollo creados para cada proyecto.
- Rama QA: Grupos: Admin, LordConfiguration y QA.
- HotFixes: Grupos: Admin, LordConfiguration y HotFixes.
El manejo sobre esta rama del repositorio solo se hace asignando al desarrollador que va atender la incidencia reportada por el cliente en la plataforma correspondiente. Después que la incidencia fue resuelta por el desarrollador se elimina al usuario de este grupo.
5. Para Repositorio de documentación
5.1. En este repositorio se tiene la documentación relacionada a los proyectos los cuales están organizados de acuerdo al proceso que debe seguir la implementación de un proyecto como se muestra a continuación:
5.2. El manejo de permisos se realiza mediante la asignación del permiso a las carpetas del proyecto bajo el cual este trabajando el desarrollador.
5.3. Se utilizan los mismos grupos de desarrolladores definidos para cada plataforma asignándole permisos de escritura ya que todos los grupos cuentan con el permiso de lectura en todo el repositorio de documentación.
Descripción de Actividades
Diagrama de Flujo
Diagrama 1
Diagrama 2