Hoy en día, muchos usuarios utilizan Git para llevar a cabo el control de versiones y GitHub para subir el software desarrollado. Estaba claro que en la FIB necesitábamos un servidor para que los estudiantes y profesores pudiesen usar una herramienta tan potente como git.

Tras ver las distintas opciones que había para tener nuestro propio servidor de Git, nos decantamos por GitLab.

En este artículo explicaremos los pasos seguidos al instalarlo y lo que nos ha propiciado disponer de este software. De hecho, el servicio ya está en funcionamiento y está accesible a través del enlace: https://gitlab.fib.upc.edu utilitzando las cuentas de usuario de la facultad.

¿Qué es Git?

git icon Git es un Software de control de versiones no centralizado, orientado al mantenimiento de versiones de aplicaciones con ficheros de código. Actualmente es, probablemente, el sistema de control de versiones más utilitzado. En el pasado, Subversion había adquirido cierta importancia (también hay otras herramientas como Mercurial o Bazaar) pero parece que Git se ha impuesto con fuerza en este sector por los siguientes motivos:

 

¿Qué es GitLab?

gitlab iconGitLab, a su vez, es un repositorio de gestión de proyectos dotado de interfaz web. Como podemos deducir del nombre, está construido sobre Git, y básicamente nos proporciona el código para generar un servidor y gestionar los clientes, sus opciones y los servicios afrecidos.

A través de GitLab, podemos gestionar grupos, personas y los permisos que queremos que tengan los usuarios dentro de los grupos o proyectos a los que pertenezcan. También nos permite llevar a cabo un seguimiento del estado actual y del histórico de los proyectos pudiendo, así, ver todos los cambios y modificaciones producidas en el tiempo de desarrollo, además de gráficos, otros datos de interés de los proyectos y servicios que van más allá del control de versiones. Ejemplos de estos servicios serían los comentarios de usuarios sobre un proyecto, herramientas de planificación, issues (utilizados para reportar o avisar de errores), requests (para facilitar a la comunidad de proyectos compartidos, se permite que la gente haga peticiones de actualización con su código y que, si al propietario del proyecto le parece adecuado, puedan aceptarse), etc.

¿Qué nos ofrece GitLab?gitlab icon

Gitlab es software libre y gratuito, con una buena comunidad que lo va mejorando y actualuizando, y que crece y nos ofrece diversas funcionalidades interesantes que listamos a continuación:

Además, al poder trabajar con un servidor propio, podemos gestionar el espacio cedido a los usuarios (como por ejemplo, poner un control de cuotas), regular el acceso al servicio y activar/desactivar servicios según interese.

¿Qué utiliza GitLab?

Para poder instalar y utilizar Gitlab, necesitaremos tener en nuestro servidor ciertos programas y librerías. Sin entrar demasiado en detalles, comentamos sobre qué tecnologías trabaja:

Además, nos hará falta el servidor en el que queremos instalar el servicio y la conexión a través de la cual los usuarios puedan acceder a estos servicios, ya que, al tratarse de un servidor de repositorios, lo que nos interesará será el acceso remoto.

Además, nosotros mantenemos un sistema de autentificación, aparte del propio de GitLab, que trabaja con LDAP.

De todas formas, con las actualizaciones se añaden y se retiran dependencias, así que si estáis planteandoos utilizar este sistema, os recomendamos la documentación oficial, que está bastante bien trabajada (https://about.gitlab.com/documentation/).

Consideraciones

En nuestro caso, hemos limitado el acceso de personas externas y no se podrá utilizar este servicio ya que las cuentas de usuario están restringidas a personal interno. Ha sido planteado así, pero estamos en contínua evolución y crecimiento, y si lo viesemos necesario y que la gente lo usase, podría estudiarse aplicar otra política.

De cualquier modo, para colaborar en proyectos con entidades externas, siempre se pueden usar plataformas externas (como GitHub) con espléndidos servicios.