GitLab es un administrador de Gitrepository de código abierto basado en la web escrito en Ruby que incluye wiki, administración de problemas, revisión de código, monitoreo e integración e implementación continuas. Permite a los desarrolladores crear, implementar y ejecutar sus aplicaciones.
Hay tres ediciones diferentes de GitLab disponibles, Community Edition (CE), Enterprise Edition (EE) y una versión alojada en GitLab.
Si desea alejar sus proyectos de GitHubthen, definitivamente debería probar GitLab. Puede importar proyectos y problemas de diferentes fuentes, incluido GitHub, lo que hace que el proceso de migración sea sencillo. La interfaz de GitLab está bien diseñada, es limpia, intuitiva y cercana a la de GitHub en términos de experiencia de usuario y funcionalidad.
Hay varias formas de instalar GitLab según sus requisitos y preferencias. Este tutorial cubre los pasos necesarios para instalar y configurar GitLab (CE) en un sistema CentOS 7 usando los paquetes Omnibus.
Requisitos previos #
Este tutorial asume que tiene una instalación nueva de CentOS 7.
Según la página de requisitos de GitLab, se recomienda utilizar un servidor con:
- al menos 4 GB de memoria RAM.
- 2 núcleos de CPU.
- al menos 2 GB de espacio de intercambio.
- (opcional) Dominio o subdominio que apunta a la dirección IP del servidor.
Para una capa adicional de seguridad, se recomienda configurar un firewall básico.
El usuario con el que inicia sesión debe tener privilegios sudo para poder instalar paquetes.
Instalación de dependencias requeridas #
Actualice el índice del paquete local e instale las dependencias con los siguientes comandos:
sudo yum install curl policycoreutils-python openssh-server
Para que GitLab pueda enviar correos electrónicos de notificación, puede instalar y usar Postfix o usar algún servicio de correo transaccional como SendGrid, MailChimp, MailGun o SES, en cuyo caso puede omitir este siguiente paso y configurar [los ajustes SMTP de GitLab] (https://docs.gitlab.com/omnibus/settings/smtp.html) después de completar la instalación.
Ejecute los siguientes comandos para instalar Postfix en su servidor CentOS:
sudo yum install postfix
Durante la instalación, se le pedirá que seleccione el tipo de configuración del servidor de correo. La opción predeterminada es Internet Site
. Esa es la opción recomendada solo presiona TAB
, luego ENTER
.
A continuación, se le pedirá que ingrese el System mail name
que debería ser el mismo que el nombre de host de su servidor.
Una vez completada la instalación, inicie y habilite el servicio postfix ejecutando los siguientes comandos:
sudo systemctl start postfix
sudo systemctl enable postfix
Instalando GitLab #
La instalación de GitLab es un proceso bastante sencillo. Instalaremos el paquete GitLab CE usando el yum
administrador de paquetes.
Comience agregando el repositorio de GitLab a la lista de fuentes de su sistema usando el siguiente comando curl:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
El script habilitará el repositorio e instalará las dependencias necesarias. Una vez completado, instale el paquete de GitLab ejecutando el siguiente comando:
sudo yum install gitlab-ce
Se le pedirá que acepte las claves GPG del repositorio de GitLab. Escribe y
y presiona Enter
.
El proceso de instalación puede demorar un tiempo y después de una instalación exitosa, verá el siguiente resultado:
Thank you for installing GitLab!
...
Complete!
Ajuste de las reglas del cortafuegos #
La guía sobre cómo configurar un firewall básico está vinculada en la sección de requisitos previos. Para poder acceder a la interfaz de GitLab, deberá abrir los puertos 80
y 443
. Para hacerlo, ejecute los siguientes comandos:
sudo firewall-cmd --permanent --zone=public --add-service=http
sudo firewall-cmd --permanent --zone=public --add-service=https
sudo firewall-cmd --reload
Establecer la URL de GitLab #
Antes de acceder a la interfaz web de GitLab, debemos configurar la URL en la que se podrá acceder a GitLab. Abra el archivo de configuración de Gitlab y realice los siguientes cambios:
sudo vim /etc/gitlab/gitlab.rb
Cerca de la parte superior del archivo de configuración, verá una línea que comienza con external_url
. Cambie el valor para que coincida con su dominio/subdominio o dirección IP. Si tiene dominio use https
y si desea acceder a la interfaz de GitLab a través de la dirección IP de su servidor, use http
.
external_url 'https://gitlab.example.com'
A continuación, busque "Integración de Let's Encrypt", elimine el comentario de la línea que comienza con letsencrypt['enable']
y establecerlo en verdadero. Opcionalmente, si desea recibir correos electrónicos de Let's Encrypt relacionados con su dominio, descomente la línea que comienza con letsencrypt['contact_emails']
y agrega tu dirección de correo electrónico.
Si configura la external_url
a una dirección IP, entonces no debe habilitar la integración de Let's Encrypt.
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]'] # This should be an array of email addresses to add as contacts
Finalmente guarde y cierre el archivo y ejecute el siguiente comando para reconfigurar Gitlab:
sudo gitlab-ctl reconfigure
El comando reconfigurará la configuración de GitLab y generará un certificado SSL Let's encrypt gratuito.
Configure GitLab a través de la interfaz web #
Ahora que ha configurado la URL de GitLab, puede comenzar con la configuración inicial a través de la interfaz web de GitLab.
Inicie su navegador web y vaya a:
https://your_gitlab_domain_or_server_IP.com
1. Configuración de la contraseña de la cuenta administrativa #
La primera vez que acceda a la interfaz web, se le pedirá que configure la contraseña para la cuenta administrativa.
Ingrese una contraseña segura y haga clic en Change your password
botón cuando haya terminado.
Será redirigido a la página de inicio de sesión:
El nombre de usuario predeterminado de la cuenta administrativa es root
. Más adelante en este tutorial, le mostraremos cómo cambiar el nombre de usuario.
- Nombre de usuario:root
- Contraseña:[la contraseña que ha establecido]
Ingrese las credenciales de inicio de sesión, haga clic en Sign in
y será redirigido a la página de bienvenida de GitLab.
2. Edición del perfil de usuario n.°
Lo primero que querrá hacer es editar su perfil de usuario. Haga clic en el avatar del usuario (esquina superior derecha) y, en el menú desplegable, seleccione Settings
:
Aquí puede cambiar su nombre, correo electrónico y otra información y configuración del perfil. Realiza los cambios a tu gusto.
Una vez que haya terminado, haga clic en Update Profile settings
botón y en breve recibirá un correo electrónico de confirmación a la dirección que proporcionó. Para confirmar su cuenta, siga las instrucciones proporcionadas en el correo electrónico.
3. Cambio de nombre de usuario #
Para acceder a la página de Perfil, haga clic en Account
enlace del menú de navegación vertical de la izquierda.
Como ya sabe, el nombre de usuario predeterminado de la primera cuenta administrativa es root
. Para cambiarlo simplemente escriba su nuevo nombre de usuario y haga clic en Update username
botón.
En esta pantalla, también puede habilitar la autenticación de dos factores.
La próxima vez que inicie sesión en su panel de control de GitLab, deberá ingresar el nuevo nombre de usuario.
4. Agregando clave SSH #
Para poder enviar sus cambios de git locales al servidor de GitLab, debe agregar su clave pública SSH a su cuenta de GitLab.
Si ya tiene un par de claves SSH creado en su sistema local, puede mostrar la clave pública escribiendo:
cat ~/.ssh/id_rsa.pub
La salida debería ser similar a la siguiente:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]
En caso de que el comando anterior imprima No such file or directory
significa que no tiene un par de claves SSH generado en su máquina.
Para generar un nuevo par de claves SSH, use el siguiente comando:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Copie el resultado del comando cat y vuelva a la interfaz web de GitLab. Haz clic en SSH Keys
desde el menú de navegación vertical de la izquierda para acceder a la página de configuración de claves SSH.
En la Key
textarea pegue la clave pública que copió previamente de su máquina local, establezca un título descriptivo y haga clic en Add key
botón:
Ahora debería poder enviar y extraer los cambios de su proyecto desde su computadora local sin tener que proporcionar las credenciales de su cuenta de GitLab.