GitLab es un administrador de repositorio Git basado en la web de código abierto, escrito en Ruby. Incluye un wiki, administración de problemas, revisión de código, monitoreo e integración e implementación continuas.
GitLab permite a los desarrolladores crear, implementar y ejecutar sus aplicaciones.
Hay tres ediciones de GitLab disponibles para el público, Community Edition (CE), Enterprise Edition (EE) y una versión alojada en GitLab.
GitLab puede importar proyectos y problemas de diferentes fuentes, incluido GitHub , lo que hace que el proceso de migración sea sencillo. La interfaz web de GitLab es limpia, intuitiva y cercana a la interfaz de GitHub.
Hay diferentes formas de instalar GitLab según sus preferencias.
Esta publicación cubre la instalación y configuración de GitLab (CE) en un CentOS 7 ,
Requisitos del sistema
Los requisitos del sistema están basados en la cantidad de usuarios quién estaría usando GitLab.
Para 100 usuarios:
2 núcleos
4GB RAM + 4GB SWAP
PostgreSQL (altamente recomendado)
10GB de espacio libre en disco
Requisitos
Instale las dependencias con los siguientes comandos.
### CentOS 7 / RHEL 7 ### yum install -y curl policycoreutils-python openssh-server ### Ubuntu 18.04 / Debian 9 ### sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates
Cortafuegos (CentOS/RHEL)
Para poder acceder a la interfaz web de GitLab, deberá abrir los puertos 80 y 443. Ejecute los siguientes comandos.
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
Instalar Postfix
Para que GitLab envíe correos electrónicos de notificación, puede usar Postfix o usar servicios de correo electrónico externos como SendGrid, MailChimp, MailGun o SES.
Puede omitir los siguientes pasos en caso de que desee configurar GitLab con servicios de correo electrónico externos y puede hacerlo después de que se haya instalado GitLab.
Ejecute el siguiente comando para instalar Postfix.
### CentOS 7 / RHEL 7 ### yum install -y postfix ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y postfix
Una vez que se complete la instalación de Postfix, inicie y habilite el servicio de Postfix ejecutando los siguientes comandos.
### CentOS 7 / RHEL 7 ### systemctl start postfix systemctl enable postfix ### Ubuntu 18.04 / Debian 9 ### sudo systemctl start postfix sudo systemctl enable postfix
Instalar GitLab
Agregue el repositorio de GitLab a su sistema usando el siguiente comando.
### CentOS 7 / RHEL 7 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ### Ubuntu 18.04 / Debian 9 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
El script anterior habilitará el repositorio e instalará las dependencias necesarias.
Una vez completado, instale GitLab ejecutando el siguiente comando.
### CentOS 7 / RHEL 7 ### yum install -y gitlab-ce ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y gitlab-ce
Espere a que se complete la instalación. Después de una instalación exitosa, obtendrá el siguiente resultado.
Antes de acceder a GitLab, debemos configurar una URL para GitLab. Para hacerlo, edite el archivo de configuración principal de GitLab /etc/gitlab/gitlab.rb .
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Establecer url_externa a su nombre de dominio o IP.
external_url "http://gitlab.itzgeek.local"
Una vez que haya cambiado, vuelva a configurar GitLab para aplicar los cambios recientes en el archivo de configuración usando el siguiente comando.
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Configurar GitLab con Let's Encrypt SSL
Edite el archivo de configuración principal de GitLab.
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Para habilitar el soporte de Let's Encrypt para URL externas, debe actualizar external_url con el nombre de dominio público (por ejemplo, gitlab.itzgeek.com).
external_url "https://gitlab.itzgeek.com"
A continuación, busque la integración de Let's Encrypt sección y elimine el comentario de la línea que comienza con letsencrypt[‘enable’] y establecerlo en verdadero .
Opcionalmente, si lo desea, puede optar por recibir correos electrónicos de Let's Encrypt con respecto a su dominio (p. ej., recordatorios de caducidad del certificado SSL) descomentando la línea que comienza con letsencrypt[‘contact_emails’] y agregue sus direcciones de correo electrónico.
Además, puede habilitar la renovación automática del certificado Let's Encrypt SSL.
# Enable Let's Encrypt integration letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] # Enable Let's Encrypt SSL reneal on every 4th day at 12:30 letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/4"
Guarde y cierre el archivo.
Visite el portal de su registrador de DNS y cree un registro A para apuntar su external_url a su dirección IPv4 de GitLab.
NAME TTL TYPE DATA gitlab.itzgeek.com. 3600 A 35.231.140.52
Finalmente, ejecute el siguiente comando para reconfigurar Gitlab.
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Acceder a la interfaz web de GitLab
Inicie su navegador web y navegue hasta.
https://tu.dominio.comO
http://tu.ser.ver.ipLa primera vez que acceda a la interfaz web de GitLab, será redirigido a una página donde se le pedirá que configure la contraseña para la cuenta administrativa (raíz).
Introduzca la contraseña deseada y haga clic en el botón Cambiar su contraseña.
Después de establecer la contraseña, será redirigido a la página de inicio de sesión.
El nombre de usuario predeterminado de la cuenta administrativa es root.
Nombre de usuario:raíz
Contraseña:[la contraseña que ha establecido]
Ingrese las credenciales de inicio de sesión y luego haga clic en el botón Iniciar sesión.
Accederá a la página de bienvenida de GitLab.
Cambiar nombre de usuario de cuenta predeterminado
Como primera tarea, cambiaremos el nombre de usuario de la cuenta predeterminada de raíz a otra cosa.
Haga clic en el icono de Administrador Gravatar en la esquina superior derecha y seleccione Configuración.
Vaya a Cuentas e ingrese el nuevo nombre de cuenta en el campo Cambiar nombre de usuario y luego haga clic en Actualizar nombre de usuario.
Haga clic en Actualizar nombre de usuario para confirmar los cambios.
Deberá ingresar el nuevo nombre de usuario en su próximo inicio de sesión.
Añadir clave SSH
Para enviar sus cambios de git locales al servidor de GitLab a través de SSH, deberá agregar su clave pública SSH (id_rsa.pub) a su cuenta de GitLab.
Si ya ha creado un par de claves SSH existente, puede mostrar copiar la clave pública mostrando el contenido de la clave con el comando cat.
cat ~/.ssh/id_rsa.pub
En caso de que el comando arroje un error como No such file or directory, significa que su sistema no tiene un par de claves SSH generado.
Para generar un par de claves SSH, use el siguiente comando.
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
Copie la salida del comando cat.
cat ~/.ssh/id_rsa.pub
Vaya a la interfaz web de GitLab y haga clic en el icono de Gravatar en la esquina superior derecha y seleccione Configuración.
Haz clic en Claves SSH en el panel izquierdo.
Pegue la clave pública que copió previamente de su máquina local y asigne un nombre a su clave y luego haga clic en el botón Agregar clave.
Verifique el acceso usando el siguiente comando.
ssh -T [email protected]
Salida:
Welcome to GitLab, @raj!
Eso es todo.