GitLab es un software DevOps gratuito y de código abierto que viene con múltiples herramientas para desarrollar, proteger y operar software en una sola aplicación. Proporciona repositorios ilimitados y gratuitos y colaboradores ilimitados.
Se utiliza principalmente para alojar repositorios de Git, con funciones adicionales relacionadas con el desarrollo, como el seguimiento de problemas. Es muy similar a Github y Bitbucket y permite a individuos y equipos compartir código de forma remota con otros.
Requisitos previos
- Un servidor ejecutando Alma Linux 8.
- Un nombre de dominio válido apuntado con la IP de su servidor.
- Configuración de una contraseña de root en el servidor.
Verifique la versión de AlmaLinux
El objetivo de este paso es mostrar cómo comprobar qué versión de AlmaLinux está ejecutando un sistema.
El comando hostnamectl
es una de las formas más sencillas de ver información básica sobre la versión de AlmaLinux, así como otra información sobre la propia máquina.
hostnamectl
Verá una salida en la consola así:

Verificamos así que trabajamos sobre la versión 8 de Alma Linux.
Agregue el repositorio GitLab CE
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
Obtendrá el siguiente resultado:

Instale GitLab CE en Alma Linux 8
Ejecute el siguiente comando:
dnf install gitlab-ce -y
Una vez que GitLab esté instalado tendrá una salida en la consola similar a esto:

A continuación, deberá definir el nombre de dominio que va a utilizar en el archivo de configuración de GitLab. Deberá usar en FQDN, esto es un nombre de dominio totalmente cualificado que es la URL completa de un determinado sitio o servidor.Para hacerlo, edite el archivo de configuración de GitLab:
nano /etc/gitlab/gitlab.rb
Cambie la siguiente línea con su nombre de dominio: URL_externa

Guarde y cierre el archivo y luego reconfigure GitLab usando el siguiente comando:
gitlab-ctl reconfigure
Tendrá esta salida en la consola:

Configure su Firewall
A continuación, deberá permitir el servicio HTTP a través del firewall, y vuelver a cargar el servicio para aplicar los cambios:
firewall-cmd --permanent --add-service=http
systemctl reload firewalld
Credenciales de GitLab CE
Para ingresar a GitLab CE debe recuperar el password provisional. En la consola utilice el siguiente comando:
cat /etc/gitlab/initial_root_password
Debería ver la contraseña de root de GitLab CE en la pantalla la cual tendrá una vigencia de 24 horas:

Ahora, abra su navegador web y acceda a la interfaz web de GitLab usando el nombre de dominio que definió . Serás redirigido a la página de inicio de sesión de GitLab:

Una vez que ha ingresado podrá realizar crear sus repositorio, públicos o privados, crear nuevos proyectos usando plantillas específicas, almacenar sus archivos, planificar su trabajo y colaborar en código, entre otras cosas.

Finalmente, desde el punto de vista de la seguridad, recomendamos reestablecer las credenciales de acceso (usuario y password) mediante el siguiente comando:
sudo gitlab-rake "gitlab:password:reset"
El comando le pedirá que ingrese el nombre de usuario a utilizar y una contraseña, y una confirmación de la contraseña. Si todo está bien, el comando imprimirá un mensaje indicando que las credenciales se actualizaron correctamente.
A partir de acá podrá seguir consigurando su instalación de GitLab CE.
Configuración SMTP
Si prefiere enviar el correo electrónico de la aplicación a través de un servidor SMTP en lugar de Sendmail o Postfix, le recomendamos que siga la documentación oficial.
Otros pasos para configurar una instalación óptima se detallan a continuación:
CI/CD
- Configurar corredores : configure uno o más GitLab Runners, los agentes responsables de todas las funciones de GitLab CI/CD.
- Páginas de GitLab : configure las páginas de GitLab para permitir el alojamiento de sitios estáticos.
- Registro GitLab : configure el Registro de contenedores GitLab para que cada proyecto pueda tener su propio espacio para almacenar imágenes de Docker.
- Proxy de dependencia de GitLab : configure el proxy de dependencia para que pueda almacenar en caché las imágenes del contenedor desde Docker Hub para compilaciones más rápidas y confiables.
Seguridad
- Secure GitLab : prácticas recomendadas para proteger su instancia de GitLab.
- Suscríbase al boletín de seguridad de GitLab para recibir notificaciones sobre actualizaciones de seguridad cuando se publiquen.
SSH y Autenticación
Para manejar y agregar SSH keys en GitLab, primero, genera un par de claves SSH en tu computadora local utilizando el comando ssh-keygen
si aún no tienes uno. Luego, copia la clave pública (generalmente en ~/.ssh/id_rsa.pub
). En GitLab, ve a tu perfil, selecciona «SSH Keys,» y agrega tu clave pública. Puedes proporcionarle un título descriptivo para identificarla fácilmente.
Una vez agregada, puedes usar esta clave SSH para autenticarte con tu repositorio GitLab sin necesidad de ingresar una contraseña cada vez que accedes. Asegúrate de que la clave privada correspondiente esté configurada en tu cliente SSH local para garantizar una autenticación sin problemas.
- LDAP : configure LDAP para usarlo como mecanismo de autenticación para GitLab.
- SAML y OAuth : autenticación a través de servicios en línea como Okta, Google, Azure AD y más.
Copia de seguridad y actualización
- Realizar una copia de seguridad y restaurar GitLab : conozca las diferentes formas en que puede realizar una copia de seguridad o restaurar GitLab.
- Actualice GitLab : cada mes, se lanza una nueva versión de GitLab con muchas funciones. Aprenda cómo actualizar a esta versión o a una versión provisional que contenga una solución de seguridad.
- Política de lanzamiento y mantenimiento : obtenga información sobre las políticas de GitLab que rigen la denominación de las versiones, así como el ritmo de lanzamiento de las versiones principales, secundarias, de parches y de seguridad.