Cómo instalar Gitlab en nuestro servidor con Ubuntu

Logotipo de Gitlab

Hace unas semanas que supimos la repentina compra de GitHub por parte de Microsoft. Una polémica compra que muchos defienden como si lo hubieran hecho ellos o la critican duramente como si fuera el advenimiento de la caída del Software Libre. Personalmente no creo o defiendo ninguna de las dos posturas pero cierto es que tal noticia ha hecho que muchos desarrolladores de software abandonen los servicios de Github y busquen otras alternativas igual de libres que Github antes de su compra por parte de Microsoft.

Son muchos los servicios que están popularizándose, pero la inmensa mayoría de los desarrolladores están optando por utilizar GitLab, una alternativa libre que podemos instalar en nuestro ordenador con Ubuntu o en un servidor privado que utilice Ubuntu como sistema operativo.

¿Qué es GitLab?

Pero antes de nada, vamos a ver qué es exactamente. Gitlab es un control de versiones de software que utiliza la tecnología Git. Pero a diferencia de otros servicios, incorpora otras funciones además de Git como el servicio de wikis y un sistema de seguimiento de errores. Todo está licenciado bajo licencia GPL, pero cierto es que al igual que otro tipo de softwares como por ejemplo WordPress o la propia Github, cualquiera no puede usar Gitlab. Gitlab cuenta con un servicio web que ofrece dos tipos de cuentas a sus clientes: una cuenta gratuita con repositorios gratuitos y públicos y otra cuenta de pago o premium que nos permite crear repositorios privados y públicos.

Esto supone que todos nuestros datos se alojan en servidores externos a nosotros cuyo control no tenemos, al igual que pasa con Github. Pero Gitlab cuenta con una versión más llamada Gitlab CE o Community Edition que nos permite instalar y tener un entorno de Gitlab en nuestro servidor u ordenador con Ubuntu, aunque lo más práctico es usarlo en un servidor con Ubuntu. Este software nos ofrece las prestaciones de Gitlab Premium pero sin tener que pagar nada por ello, ya que instalamos todo el software en nuestro servidor y no en otro servidor.

Gitlab, al igual que ocurre con el servicio de Github ofrece recursos interesantes como la clonación de repositorios, el desarrollo de páginas web estáticas con el software Jekyll o un control de versiones y código que nos permitirá estar informados de si el software o la revisión contiene algún error o no.

La potencia de Gitlab es superior a Github, al menos en cuánto a servicio se refiere, si lo utilizamos como software propio de nuestro servidor, la potencia dependerá del hardware de nuestro servidor. Algo que hay que tener en cuenta si lo que vamos a hacer es cambiar el software de Github por el software de Gitlab en nuestro servidor privado.

¿Qué necesitamos para instalar GitLab en un servidor Ubuntu?

Para tener Gitlab o Gitlab CE en nuestro servidor, primero hemos de instalar las dependencias o software que se necesita para que funcione correctamente el software. Para ello abrimos una terminal y escribimos lo siguiente:

sudo apt-get install curl openssh-server ca-certificates postfix -y

Posiblemente algún paquete como curl ya estará en nuestro ordenador pero sino lo está, esta es una buena ocasión para realizar la instalación.

Instalación de GitLab

Repositorio externo de Gitlab CE

Ahora que tenemos ya todas las dependencias de Gitlab, hemos de instalar el software de Gitlab CE, que es público y que podemos conseguirlo a través de un repositorio externo a Ubuntu. Para ello abrimos una terminal y escribimos lo siguiente:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Existe otro método que pasa por utilizar un repositorio externo pero con la herramienta de software Apt-get. Para ello en lugar de escribir lo anterior en la terminal hemos de escribir lo siguiente:

sudo EXTERNAL_URL="http://gitlabce.example.com" apt-get install gitlab-ce

Y con esto ya tendremos el software Gitlab CE en nuestro servidor de Ubuntu. Ahora toca hacer algunas configuraciones básicas para que funcione correctamente.

Configuración de Gitlab CE

Lo primero que hemos de hacer es liberar ciertos puertos que utiliza Gitlab y que estarán cerrados y usamos algún firewall. Los puertos que hemos de abrir o que utiliza Gitlab son el puerto 80 y el 443.

Ahora, hemos de abrir por primera vez la pantalla web de Gitlab CE, para ello abrimos en nuestro navegador la página web http://gitlabce.example.com. Esta página será la de nuestro servidor pero, al ser la primera vez, hemos de cambiar la contraseña que tiene por defecto el sistema. Una vez que hayamos cambiado la contraseña, nos hemos de dar de alta o acceder con la contraseña nueva y el usuario “root”. Con esto ya tendremos el área privada de configuración del sistema Gitlab en nuestro servidor de Ubuntu.

Si nuestro servidor es de uso público, seguramente que necesitaremos utilizar el protocolo https, un protocolo web que utiliza certificados para que sea más segura la navegación web. Podemos utilizar cualquier certificado pero Gitlab CE no cambia automáticamente la dirección url del repositorio, para tener esto hemos de hacerlo de forma manual, así editamos el archivo /etc/gitlab/gitlab.rb y en external_URL hemos de cambiar la vieja dirección por la nueva, en este caso será añadir la letra “s”, pero también podemos hacer que la url sea distinta y aumentar la seguridad de nuestro servidor web. Una vez que guardemos y cerremos el archivo, hemos de escribir lo siguiente en la terminal para que se acepten los cambios realizados:

sudo gitlab-ctl reconfigure

Esto hará que se apliquen todos los cambios que realicemos sobre el software de Gitlab y que estén listos para los usuarios de este sistema de control de versiones. Ahora ya podemos utilizar este software sin problema alguno y sin pagar nada por tener repositorios privados.

Gitlab o GitHub ¿cuál es mejor?

Codigo cayendo como ocurre en Gitlab

Llegados a este punto, seguramente que muchos de vosotros os preguntaréis qué software es mejor para utilizar o crear repositorios de nuestro software. Si continuar con Github o si bien cambiar a Gitlab. Ambos utilizan Git y se puede cambiar o traspasar fácilmente el software creado de un repositorio a otro. Pero personalmente recomiendo seguir con Github si lo tenemos en nuestro servidor y sino tenemos nada instalado, entonces sí instalar Gitlab. El motivo de ello es porque pienso que por encima de todo está la productividad y cambiar un software por otro cuyas ventajas son casi mínimas, no compensa.

Lo bueno de todo es que ambas herramientas son Software Libre y si sabemos crear una máquina virtual, podemos probar ambos programas y ver cuál se adapta a nosotros sin necesidad de cambiar o dañar a nuestro servidor de Ubuntu.


6 comentarios, deja el tuyo

Deja tu comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

*

*

  1. Responsable de los datos: Miguel Ángel Gatón
  2. Finalidad de los datos: Controlar el SPAM, gestión de comentarios.
  3. Legitimación: Tu consentimiento
  4. Comunicación de los datos: No se comunicarán los datos a terceros salvo por obligación legal.
  5. Almacenamiento de los datos: Base de datos alojada en Occentus Networks (UE)
  6. Derechos: En cualquier momento puedes limitar, recuperar y borrar tu información.

  1.   Edgar Albalate Ibañez dijo

    Yo uso otra alternativa que se llama gitea. https://github.com/go-gitea/. Podéis probarlo en https://gitea.io

  2.   Justindam dijo

    Our dinosaur games https://dinosaurgames.org.uk/ offer amusement with animals from millions of years ago! You can manage neanderthals and all type of dinos; Tyrannosaurus Rex, Velociraptors, as well as Brachiosaurus are all consisted of! Our dinosaurs levels contain various sorts of gameplay, from fighting to experience to online poker. You can play any type of sort of obstacle you want, giving you prehistoric entertainment for hrs on end! Fight as cavemen versus creatures, wander the Earth, and also eat your adversaries!

  3.   LelandHoR dijo

    The globe’s very first browser-based First Person Egger! Obtain breaking! Select your class and also end your enemies with eggstreme bias in this 3d multplayer shooter. Gear up lethal tools like the Scramble Shotgun as well as EggK47 as you cluck your way to victory. Appreciate Shellshockers Unblocked https://shellshockersunblocked.space/

  4.   Wilburnmosum dijo
  5.   NYjso dijo

    Hp v72