Cómo instalar Gitlab en nuestro servidor con Ubuntu
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
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?
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.
El artículo Cómo instalar Gitlab en nuestro servidor con Ubuntu ha sido originalmente publicado en Ubunlog.