control de versiones para software industrial

El control de versiones para software industrial

Escrito por

Esther Claravalls

Categoría

El Problema de las Versiones

Uno de los caballos de batalla en toda organización donde se desarrolla software es el control de versiones, y las empresas de software industrial no somos una excepción.

Aunque te pueda parecer increíble, muchas empresas y profesionales siguen intentando hacerlo de manera manual, creando diferentes carpetas para las diferentes versiones. La realidad es que con este método llega un momento que ya no sabes cuál es la versión buena a partir de la cual debes realizar la modificación o la versión que tiene instalada el cliente o, lo que es peor, no sabes qué código fuente corresponde con la versión que tiene instalada el cliente. Resultado: EL CAOS.

Ten en cuenta que todo desarrollo de software pasa por 3 fases o estados básicos:

  1. La versión que se está desarrollando
  2. La versión lista para implantar en el cliente
  3. La versión que tiene el cliente funcionando.

Gestionar todo esto de forma manual, además de ineficiente, supone un alto riesgo.

Si has leído la guía Procedimiento para la trazabilidad de los proyectos, verás que en el capítulo de organización de la información no aparece en ningún sitio el espacio para el almacenamiento del código fuente. Esto es así porque cuento con el código fuente se guarde en un repositorio de control de versiones. En cambio toda la estructura de carpetas que aparece en la guía puedes implementarla usando Microsoft 365 Empresa Estándar.

Aplicaciones para el control de versiones

Afortunadamente existen varias herramientas gratuitas y de pago, que te permiten simplificar esta gestión. Se trata de las aplicaciones para control de versiones. Si quieres conocer detalles sobre qué es y cómo funcionan te invito a que visites este enlace.

Como te decía, existen múltiples aplicaciones; las más conocidas: GitHub, GitLab, Bitbucket, Subversion, Microsoft Team Services, etc. Probablemente habrás oído hablar de GitHub, ya que se ha convertido con los años en el repositorio oficial de proyectos de código abierto.

El problema que presenta GitHub, en su versión gratuita, es que los proyectos tienen que ser públicos para poder usar todas sus prestaciones. Los proyectos privados inicialmente sólo estaban disponibles en la versión de pago y ahora están limitados en cuanto al número de miembros del equipo que pueden acceder al proyecto.

La opción de Microsoft Team Services también tiene limitaciones en su uso gratuito, motivo por el cual seleccioné en mi empresa GitLab, ya que me permite realizar el control de versiones para software industrial de manera totalmente gratuita. Obviamente, tiene prestaciones que son de pago, aunque están más orientadas al despliegue. Por tanto, no es un problema ya que para muchos de nostros, hacer el despliegue de nuestras aplicaciones vía Internet sigue siendo ciencia-ficción debido a las restricciones de conectividad impuestas por nuestros clientes.

GitLab. Mucho Más que un control de versiones

Con GitLab puedes crear tantos repositorios privados como desees, sin límite de colaboradores, mientras que GitHub te limita a 3 los colaboradores con acceso.

En GitLab cada repositorio puede contar con hasta 10GB de almacenamiento, mientras que en GitHub sólo cuentas con 1GB.

Son muchas las funciones que incorpora GitLab, pero algunas de las más interesantes son:

Organización de Proyectos. Los proyectos se organizan en grupos. Puedes crear tantos grupos y proyectos como quieras. Por ejemplo, puedes crear un grupo para desarrollo, otro para despliegue y otro para las versiones en producción, o bien puedes crear grupos por cliente y ubicar todos los proyectos de un cliente en ese grupo. Las combinaciones son ilimitadas.

Gestión de Versiones. Puedes definir tantas ramas como sea necesario. Cuando un miembro de tu equipo hace una modificación, al resto del equipo se le notifica por correo electrónico para que actualice su repositorio local con la última versión. Cuentas con un histórico que te permite comparar las diferentes versiones subidas.

Control de Accesos. Puedes determinar que usuario tiene acceso a cada uno de los repositorios y que tipo de acciones le permites hacer. Puedes configurarlo para recibir tú una notificación cada vez que alguien de tu equipo interactúa con un repositorio.

Wiki. Puedes crear wikis para cada proyecto con el objeto de crear documentación específica para el equipo de desarrollo, incluso puedes crear una wiki general del repositorio para incluir las normas de desarrollo.

Gestión de Incidencias. Tiene un sistema de gestión de tareas que puedes usar en formato tablero Kanban o lista

Asignación de Tareas. Puedes asignar tareas o resolución de incidencias a los miembros de tu equipo. Cada programador dispone de un acceso directo con la lista de las tareas de todos los proyectos asignados a él.

Comentarios. Tanto en las tareas como en los repositorios, los usuarios pueden realizar comentarios, quedando de esta manera trazadas las conversaciones, algo que no podrías tener si se hiciera por WhatsApp.

Imputación de Horas. Para cada tarea asignada, los miembros de tu equipo pueden imputar las horas que han destinado a su realización.

Importar/Exportar Proyectos. Puedes importar proyectos de otras plataformas y, en el caso de ser necesario, también puedes exportar proyectos. En cada exportación GitLab incluirá los repositorios del proyecto, las wikis, la configuración, los comentarios, las tareas, etc.

GitLab se puede usar como servicio en la nube o descargarlo e instalarlo en un servidor propio. Mi recomendación es usar la versión en la nube. Recuerda que los miembros de tu equipo trabajan en movilidad y utilizando la versión en la nube, te aseguras de que puedan acceder siempre a ella y te evitas problemas de seguridad e infraestructura.

Otra función que puedes implantar con GitLab es dar acceso a tu cliente al repositorio de su proyecto. Muchos clientes son recelosos con el tema del código fuente o con tener controlada la versión instalada en producción. Con Gitlab puedes crear un perfil con permisos específicos para tu cliente con el objeto de que se pueda descargar la versión en producción o, si el contrato lo requiere, que tenga acceso al último código fuente de su proyecto.

Un valor añadido que te aporta GitLab es que de manera implícita estas generando copias de seguridad en la nube de tu código fuente y del cual siempre puedes obtener una copia en local. ¿No es fantástico?

Siguiente Paso

Estas que te he comentado son algunas de las funciones que tiene GitLab, pero cuenta con muchas más. Para conocerlo más a fondo puedes visitar https://gitlab.com y empzar a crear tu repositorio de software industrial.

Contacto

¿Quieres que te ayude?

Si no tienes tiempo o crees que el tema te supera y quieres que te eche una mano en la configuración y puesta en marcha de tu repositorio GitLab, contacta conmigo y cuéntame tu caso. 

Logo de Gitlab en portada cortesía de Darby – CC BY-SA 4.0, Enlace

SoftInd Tool Box

¿Dispuesto a rentabilizar tu negocio?

"

Al suscribirte también me estás autorizando a enviarte contenidos sobre software industrial de tu interés. Respeto tu privacidad y no hago spam. Conoce mi Política de Privacidad . 🙂

Los secretos del Software Industrial

Únete a Nuestra Comunidad

Colaboración

Accede al grupo privado de facebook y empieza a compartir conocimiento con otros empresarios como tú.

Sumérgete en el Blog

El departamento de OT

En este artículo te presentamos la misión, funciones y organigrama que debería tener el departamento de OT para asegurar la productividad de nuestra empresa.

Ciberseguridad en Entornos Industriales

Con este artículo introductorio inauguramos la sección de ciberseguridad en entornos industriales. Los sistemas industriales deben contemplar de manera obligada aspectos de Ciberseguridad que hasta ahora siquiera se tenían en mente, y deben adaptarse para hacer frente a cualquier tipo de amenaza.

Pin It on Pinterest

Share This
Software Industrial Logo

¿Listo para hacer el cambio?

Únete al clan y accede a recursos, guías y tutoriales sólo para suscriptores

¡Bienvenido! Revisa tu correo para obtener las instrucciones de acceso