Tutorial de GitLab: instalación y primeros pasos

GitLab es un popular sistema de control de versiones (VCS) que se usa, sobre todo, en el ámbito del desarrollo de software. En el año 2011, Dimitri Saparoschez escribió y publicó este software, basado en la web, en el lenguaje Ruby on Rails. Hoy en día, se ha convertido en imprescindible para los desarrolladores.

La ventaja principal de GitLab es que facilita notablemente el desarrollo de software ágil entre varios equipos. De esta manera, varios desarrolladores pueden trabajar simultáneamente en un proyecto y editar, por ejemplo, diferentes funciones de forma paralela. La protocolización continua de todos los procesos garantiza que no se pierda ninguna modificación del código ni que se sobrescriba de forma no intencionada. También es posible deshacer rápidamente los cambios ya aplicados.

GitLab se basa en el software de gestión de versiones de uso común Git. Git está disponible de forma gratuita como software de código abierto y es considerado uno de los sistemas de control de versiones más usados en general. GitLab es una de las alternativas a GitHub más populares (cuando Microsoft se hizo con GitHub en 2018, muchos usuarios se cambiaron a GitLab).

¿Cómo funciona GitLab?

GitLab es una aplicación basada en la web con una interfaz gráfica de usuario que también puede instalarse en un servidor propio. El núcleo de GitLab lo forman los proyectos en los que se guarda el código que va a editarse en archivos digitales, los denominados repositorios. En estos directorios de proyecto se encuentran todos los contenidos y archivos de un proyecto de software, es decir, archivos JavaScript, HTML, CSS o PHP, entre otros.

En este tutorial de GitLab te explicamos cómo funciona. Para comenzar, todos los implicados en el proyecto se descargan una copia propia del repositorio central en su ordenador. A partir de ahí, los cambios del código se realizan mediante denominados commits. Una vez realizada la edición, los cambios se integran en el repositorio principal.

Otra función importante es la ramificación. Esta permite a los usuarios crear una “rama” que se bifurca de la parte principal del código y que se puede editar de forma independiente a este. Esta función es especialmente útil a la hora de introducir y probar nuevas funciones sin que esto afecte al desarrollo de la línea principal.

Gracias a la entrega e integración continuas integradas, GitLab es perfecto para trabajar con ramificación y ofrece funciones muy útiles como solicitudes de combinación y la creación de bifurcaciones. Por ello, el software es una de las herramientas de integración continua más populares.

Vista general de las funciones de GitLab

Entre las funciones más importantes de GitLab se encuentran las siguientes:

  • Interfaz fácil de usar
  • Las ramificaciones pueden permanecer privadas o publicarse
  • Posibilidad de gestionar varios repositorios
  • Revisión de códigos
  • Localización integrada de errores y problemas
  • Integración continua y entrega continua (CI/CD, por sus siglas en inglés) integradas de forma gratuita
  • Wikis de proyectos
  • Creación sencilla de fragmentos de código para dividir partes del código.

Modelos de licencia y uso de GitLab

GitLab está basado en un código fuente abierto y de acceso libre. En el año 2013 se creó una versión Enterprise propia para empresas, por lo que ahora hay dos modelos de uso:

  • GitLab CE: Community-Edition (gratuita)
  • GitLab EE: Enterprise-Edition (de pago)

Ambas versiones están basadas en la licencia de código abierto MIT. La Enterprise-Edition cuenta con algunas funciones adicionales en comparación con la Community. En este contexto, GitLab ofrece tres modelos de suscripción en función del alcance de las funciones adicionales deseadas.

La Enterprise-Edition también se puede usar de manera gratuita, pero solo con las funciones básicas de la Community-Edition. Esta opción está pensada para casos en los que más adelante convenga pasarse a la variante Enterprise, ya que basta un clic para realizar el cambio. El paso desde la versión Community es bastante más complicado y requiere más tiempo.

Instalación de GitLab: así se hace

Por norma general, recomendamos un entorno Linux para usar GitLab, ya que al igual que Git, GitLab está concebido de fábrica para Linux. El uso en Windows implica una serie de restricciones, en estos casos, puede usarse una máquina virtual que simula un entorno Linux en un ordenador con Windows. Una opción menos complicada es la instalación del denominado GitLab Runner que también se requiere para usar la integración continua de GitLab.

GitLab en servidor propio o en la nube

La instalación de GitLab en un servidor propio no supone ninguna complicación para cualquier usuario que conozca Linux, pero lleva bastante tiempo. Al margen de la instalación en sí, hay que dedicar algo de tiempo a la configuración y al trabajo de mantenimiento regular.

Si quieres evitar todo esto, también puedes usar GitLab como software as a service (SaaS) e instalarlo y ejecutarlo en un servidor en la nube (hay varios proveedores). De esta manera podrás usar el software rápidamente y ya configurado, sin necesidad de instalación. Por norma general, también viene incluida la instalación del GitLab Runner, así que podrás comenzar inmediatamente.

La ventaja de la instalación manual en un entorno de servidor propio es que esto aporta una mayor flexibilidad. Los usuarios gozan de total libertad en la instalación: pueden decidir libremente acerca de copias de seguridad, actualizaciones o recursos adicionales e instalar solo lo que necesiten en su caso concreto. Aun así, la solución en la nube es muy interesante, sobre todo, si el administrador de sistema ya tiene mucho trabajo.

Consejo

IONOS ofrece servidores en la nube y servidores virtuales potentes y a buen precio. Estas herramientas te permitirán configurar rápidamente tu propia infraestructura virtual según tus preferencias. Los servidores son compatibles con todos los sistemas operativos comunes de Linux (Ubunto, Debian) y, opcionalmente, con Windows.

Instalación de GitLab en servidor Linux

Para poder instalar GitLab en un servidor Linux, necesitas, antes de nada, el software Git. En nuestro tutorial de Git te explicamos cómo instalarlo en servidor. Luego, debes descargar el GitLab-Omnibus-Package en la página web oficial de GitLab. Este paquete contiene todos los archivos necesarios y es el recomendado para instalar GitLab.

Actualización de repositorio

A continuación, inicia sesión en el servidor como usuario Root y actualiza el repositorio (en este caso, de Ubuntu) para recibir todos los paquetes necesarios para GitLab. Usa los siguientes comandos:

sudo ssh root@GitLabServer
sudo apt-get update

Instala los paquetes de la siguiente manera:

sudo apt install curl openssh-server ca-certificates postfix

Durante la instalación de Postfix aparece una pantalla de configuración. Selecciona la opción “Internet Site” e introduce el nombre del dominio de servidor que usas para enviar y recibir correos electrónicos.

Instalación de GitLab

Luego, instala el paquete Omnibus de GitLab. Para ello, tienes que añadir primero el “repositorio GitLab Package” con el siguiente comando.

curl https://packages.GitLab.com/install/repositories/GitLab/GitLab-ee/script.deb.sh | sudo bash

A continuación, instala GitLab con el comando apt. En este código de ejemplo se instala la Community Edition (CE) de GitLab.

sudo apt install GitLab-ce

Tras ejecutar el comando, el servidor descarga e instala el paquete GitLab automáticamente. Una vez confirmada la instalación, todavía tienes que configurar el URL principal con el que accedes al servidor GitLab.

Modifica el URL "https://GitLab.example.com" según el URL que estés usando realmente. Para ello, accede al directorio /etc/GitLab, en el que se encuentra la configuración, y edita el archivo de configuración GitLab.rb con el editor de texto estándar, vim.

Los comandos tienen el siguiente aspecto:

cd /etc/GitLab
vim GitLab.rb

En el archivo GitLab.rb busca la línea 9 (“external_url) e introduce el URL deseado. A continuación, GitLab arrancará y configurará la instalación desde ese URL.

Durante el primer arranque se abre una pantalla en la que debes restablecer la contraseña. Fija la contraseña para el administrador y saltarás hasta la pantalla de inicio de sesión. Para iniciar sesión puedes comenzar usando el usuario estándar “root” como ya mencionamos anteriormente en este tutorial de GitLab. Estos ajustes pueden modificarse más delante en los ajustes de perfil.

Instalación en Windows

GitLab en sí no puede instalarse en un servidor de Windows, pero puedes usar un denominado GitLab Runner para acceder desde Windows a una instalación ya configurada de GitLab en un servidor Linux. Este software se instala en Windows y es compatible con la funcionalidad de integración continua de GitLab (GitLab CI/CD). De esta forma, el Runner puede enviar consultas y solicitudes de trabajo a GitLab.

Descarga de Git para Windows y de datos binarios de GitLab Runner

Para instalar GitLab en un servidor Windows, necesitas primero Git para Windows. Puedes descargar el software en la página web oficial. Además, en este tutorial de GitLab te recomendamos asignar una contraseña individual para la cuenta de usuario si no vas a usar la cuenta de sistema estándar.

También necesitas un token que te permita acceder del Runner a la instancia GitLab. Encontrarás esta clave de acceso en los ajustes de GitLab en “Settings” -> “CI/CD”.

A continuación, descarga el archivo binario (x86 o amd64) para el GitLab Runner para Windows y crea una carpeta en un directorio cualquiera de tu sistema, por ejemplo C:\GitLab-runner.

Introduce el archivo en dicha carpeta y cámbiale el nombre a GitLab-runner.exe. Luego, abre Windows PowerShell (o el Símbolo del sistema) con derechos de administrador.

Registro de GitLab Runner en Windows

Para registrar GitLab Runner, introduce la siguiente orden en la línea de comandos:

./GitLab-runner.exe register

Ahora, introduce el URL de la instalación GitLab (en este caso es un ejemplo):

https://GitLab.com

En la siguiente ventana, introduce el token para enlazar el Runner con la instalación de GitLab. A continuación, puedes fijar una descripción propia para el Runner. Esta opción también puede modificarse más adelante en la interfaz de GitLab. La siguiente ventana permite establecer tags. Estas tags son especialmente útiles si vas a usar un Runner para editar varios proyectos a la vez. Mediante las tags, puedes determinar exactamente qué proyectos se asignan en cada caso.

En el último paso, debes determinar el llamado “executor”, es decir, el entorno en el que funciona el Runner, por ejemplo, en una instancia VirtualBox o en un entorno Shell. Shell es el executor más fácil de configurar y la opción por defecto si registras un GitLab Runner por primera vez en Windows.

Please enter the executor: ssh, docker+machine, docker-ssh+machine, kubernetes, docker, parallels, virtualbox, docker-ssh, shell:
shell

Instalación e inicio de GitLab Runner en Windows

Para instalar GitLab Runner puedes usar la cuenta de sistema integrada o una cuenta de usuario propia. Usa PowerShell o el Símbolo del sistema para navegar al directorio que has creado anteriormente e introduce los siguientes comandos de manera sucesiva.

cd C:\GitLab-Runner
.\GitLab-runner.exe install
.\GitLab-runner.exe start

Primeros pasos

Una vez instalado GitLab, puedes acceder a la interfaz gráfica a través del URL determinado anteriormente. Para ello, puedes usar un navegador cualquiera e iniciar sesión como administrador. El nombre de usuario y la contraseña correspondiente también pueden modificarse más adelante en la sección de administrador.

Creación de usuario

En la sección de administrador, puedes usar la opción “New User” para crear a todos los usuarios que trabajarán juntos en los proyectos GitLab correspondientes. Para ello, debes definir una dirección de correo electrónico y unos datos de inicio de sesión propios para el usuario y asignarlo al proyecto deseado.

En el mismo punto, puedes usar “Edit” para modificar los derechos de usuario y bloquear usuarios o eliminarlos completamente. Ten en cuenta que el bloqueo de un usuario evita que este inicie sesión, pero todos los datos (por ejemplo, commits) seguirán siendo disponibles para él. En cambio, la eliminación completa significa la desaparición del usuario con toda la información vinculada, por lo que debes pensar bien si deseas ejecutar esta función.

Creación de un nuevo proyecto

El paso más importante es crear un nuevo proyecto. Para ello, selecciona el botón “New Project” y saltarás a la ventana para crear el proyecto. Usa el campo “Project Name” para introducir el nombre del proyecto. No utilices caracteres especiales ni espacios en blanco. En “Visibility” podrás configurar la visibilidad, es decir, qué usuarios tienen acceso al proyecto. Puedes elegir entre los siguientes niveles:

  • Privado: Solo tendrás acceso tú.
  • Interno: Tendrá acceso cualquier usuario que tenga la sesión iniciada.
  • Público: Puede acceder al proyecto cualquier usuario sin necesidad de identificarse de ninguna manera.

Una vez que hayas elegido los ajustes, crea el proyecto con el botón “Create project”. Ahora ya puedes conectarlo directamente con un repositorio Git local. Para ello, ve a la vista general de proyectos, selecciona la opción “HTTPS” en la denominación del proyecto y copia las órdenes indicadas en la línea de comandos.

Si todavía no dispones de una copia local del repositorio en el servidor, puedes remediarlo en este punto si introduces el siguiente comando:

$ git clone https://server/namespace/project.git

Una vez que hayas iniciado el repositorio con el primer Push, puedes consultar toda la información disponible sobre el repositorio en la página del proyecto. Allí también puedes consultar las últimas actividades y revisar el registro de commits para ver quién ha realizado cambios en el código y en qué momento.

GitLab: tutorial de trabajo en equipo

La forma más sencilla de trabajar con otros usuarios en un proyecto GitLab consiste en conceder a los usuarios acceso de Push directo al repositorio. Para ello, añade los usuarios a un proyecto, tal y como te explicamos en este tutorial de GitLab y concédeles los derechos de usuario correspondientes.

Los usuarios con un nivel de derechos de “developer” o superior pueden desplazar sus commits y bifurcaciones al repositorio sin restricciones. De forma alternativa también pueden utilizarse las denominadas solicitudes de combinación. Con ellas, es posible controlar el acceso de manera más estricta, ya que la bifurcación maestra no se edita directamente. En su lugar, los usuarios crean una ramificación, registran sus commits y luego hacen una solicitud de combinación para conectar la ramificación con el maestro (u otra ramificación).

Además, los usuarios sin derechos de acceso pueden crear bifurcaciones, es decir, editar su propia copia del proyecto mediante commits Push. A continuación, pueden hacer una solicitud de combinación para volver a integrar las bifurcaciones en el proyecto principal. De esta forma, el propietario del proyecto tiene el control total sobre lo que entra en el repositorio, pero puede permitir a usuarios desconocidos hacer una aportación a su proyecto.

Nota

Al ser una herramienta de colaboración elaborada, GitLab dispone de numerosas funciones que facilitan la colaboración en equipo, como wikis de proyecto o herramientas de mantenimiento del sistema.