Cómo instalar y configurar GitLab CE en CentOS 8

Instalar dependencias de paquetes para la instalación de GitLab

GitLab es un administrador de repositorios de código abierto basado en Rails desarrollado por GitLab Inc. Es un administrador de repositorios git basado en la web que le permite a su equipo colaborar en la codificación, prueba e implementación de aplicaciones. GitLab proporciona varias funciones, que incluyen wikis, seguimiento de problemas, revisiones de código y fuentes de actividad.

GitLab Inc ofrece 4 productos:

  • Gitlab CE (Community Edition): autohospedado y gratuito; apoyo del foro de la comunidad.
  • Gitlab EE (Enterprise Edition): autohospedado y de pago; viene con características adicionales.
  • GitLab.com – SaaS y gratis.
  • GitLab.io: instancia privada de GitLab administrada por GitLab Inc.

En este tutorial, le mostraremos cómo instalar GitLab CE en el servidor CentOS 8. Instalaremos GitLab CE usando el paquete ‘omnibus’ proporcionado por GitLab, haremos algunas configuraciones básicas de GitLab y probaremos para crear un nuevo proyecto de GitLab.

Requisito previo

Para esta guía, instalaremos GitLab CE en la última versión del servidor CentOS 8 con 4 GB de RAM, 30 GB de espacio libre en disco y 2 CPU.

¿Lo que haremos?

  • Instalar dependencias de paquetes
  • Agregar repositorio e instalar GitLab CE (Community Edition)
  • Generar certificado SSL Letsencrypt y DHPARAM
  • Habilitar Nginx HTTPS para GitLab
  • Configurar cortafuegos
  • Instalación posterior de GitLab
  • Pruebas

Paso 1: instalar las dependencias de los paquetes

Primero, instalaremos algunas dependencias de paquetes que necesita GitLab, incluidos los paquetes OpenSSH y Postfix.

Instale las dependencias de paquetes para GitLab CE usando el comando dnf a continuación.

sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix

Una vez completada toda la instalación, inicie los servicios SSH y Postfix.

systemctl start sshd
systemctl start postfix

A continuación, agregue ambos servicios al inicio del sistema.

systemctl enable sshd
systemctl enable postfix

Como resultado, se completó la instalación de las dependencias de los paquetes.

Instalar dependencias de paquetes para la instalación de GitLab

Paso 2: agregue el repositorio e instale GitLab

En este paso, agregaremos el repositorio oficial de GitLab a nuestro sistema CentOS 8 e instalaremos los paquetes de GitLab CE.

Agregue el repositorio de GitLab usando el script de instalación a continuación.

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash

Una vez que todo esté completo, a continuación se muestra el resultado que obtendrá.

Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
 Userid     : "GitLab B.V. (package repository signing key) <[email protected]>"
 Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
 Userid     : "GitLab, Inc. <[email protected]>"
 Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
 From       : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.

Para verificar el repositorio de GitLab, ejecute el comando dnf a continuación.

sudo dnf repolist

Y obtendrá el repositorio de GitLab en la lista.

Agregar repositorio de GitLab

Luego, instale los paquetes de GitLab CE usando el comando

sudo dnf install gitlab-ce -y

Una vez que se complete toda la instalación, obtendrá el resultado que se muestra a continuación.

Instale GitLab CE en CentOS 8

Como resultado, GitLab CE Community Edition ahora está instalado en el sistema CentOS 8.

Paso 3: generar SSL Letsencrypt y DHPARAM

Para este tutorial, ejecutaremos GitLab en la conexión HTTPS segura y usaremos SSL Letsencrypt de Letsencrypt y DHAPRAM que se puede generar con el comando openssl.

En este paso, generaremos el SSL Letsencrypt usando la herramienta de línea de comandos certbot, que se puede instalar desde el repositorio de EPEL, y luego generaremos el certificado DHPARAM usando el archivo openssl.

Agregue el repositorio EPEL al sistema CentOS 8 usando el siguiente comando.

sudo dnf install epel-release

Luego, instale los paquetes de certbot usando el comando dnf a continuación.

sudo dnf install certbot

Una vez que se complete toda la instalación, genere SSL Letsencryp para GitLab usando el comando certbot a continuación.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io

Ahora sus certificados SSL estarán disponibles en el directorio ‘/etc/letsencrypt/live/gitlab.hakase-labs.io’, compruébelo con el siguiente comando.

ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/

Obtendrá los certificados ‘fullchain.pem’ y ‘privkey.pem’.

Luego, genere el certificado DHPARAM en el directorio ‘/etc/gitlab’ usando el comando openssl a continuación.

sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048

Una vez que todo esté completo, cambie el permiso del certificado ‘dhparam.pem’ a ‘0600’.

sudo chmod 600 /etc/gitlab/dhparams.pem

Como resultado, se han generado los certificados SSL Letsencrypt y DHPARAM para GitLab.

Paso 4: configurar el nombre de dominio Habilitar Nginx HTTPS para GitLab

En este paso, configuraremos el nombre de dominio y habilitaremos la conexión segura Nginx HTTPS para GitLab.

Vaya al directorio ‘/etc/gitlab’ y edite la configuración ‘gitlab.rb’.

cd /etc/gitlab/
vim gitlab.rb

En la línea ‘external_url’, cambie el nombre de dominio predeterminado por el suyo propio y cambie el protocolo http a https como se muestra a continuación.

external_url 'https://gitlab.hakase-labs.io'

A continuación, agregue la siguiente configuración después de la línea ‘external_url’ y asegúrese de cambiar el certificado SSL y DHPARAM con el suyo propio.

nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"

Guardar y cerrar.

Configurar GitLab CE

A continuación, ejecute el siguiente comando para reconfigurar GitLab y aplicar la nueva configuración.

sudo gitlab-ctl reconfigure

El comando invocará el script de Chef que impulsó Omnibus GitLab para reconfigurar su instalación de GitLab.

Reconfigurar GitLab CE

Una vez completado todo, vaya al siguiente paso.

Paso 5: configurar el cortafuegos

Después de habilitar HTTPS en GitLab, agregaremos los servicios HTTP y HTTPS al firewalld.

Ejecute el comando firewall-cmd a continuación.

firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent

Después de eso, vuelva a cargar el servicio firewalld para aplicar una nueva configuración.

firewall-cmd --reload

Ahora verifique todos los servicios en firewalld usando el comando a continuación.

firewall-cmd --list-services

Ahora obtendrá los servicios SSH, HTTP y HTTPS en la lista.

Configurar cortafuegos

Como resultado, agregó los servicios HTTP y HTTPS al firewalld, y GitLab ahora está listo y accesible.

Paso 6: instalación posterior de GitLab

Abra su navegador web y escriba la instalación de su nombre de dominio GitLab en la barra de direcciones. El mío es: https://gitlab.hakase-labs.io/, usa tu dirección.

Y será redirigido a la página de restablecimiento de contraseña.

– GitLab Restablecer contraseña predeterminada

Escriba la nueva contraseña para el usuario predeterminado de GitLab ‘root’.

GitLab restablecer contraseña predeterminada

Ahora haga clic en el botón ‘Cambiar su contraseña’ y será redirigido a la página de inicio de sesión de GitLab.

Página de GitLab Logih

Escriba el usuario predeterminado ‘root’ y su contraseña, luego haga clic en el botón ‘Iniciar sesión’ y obtendrá el Panel de GitLab como se muestra a continuación.

Tablero GitLab

Cambiar perfil y nombre de usuario

Después de iniciar sesión en el Panel de control de GitLab, cambie el usuario ‘raíz’ predeterminado por el suyo propio.

Para cambiar la configuración de su perfil, haga clic en la parte superior derecha de su icono de perfil y haga clic en el icono ‘Configuración’ para configurar su perfil.

Ahora escriba su nuevo nombre de usuario y dirección de correo electrónico, luego desplácese hasta la página inferior y haga clic en el botón ‘actualizar configuración de perfil’.

Cambiar perfil GitLab

A continuación, haga clic en la pestaña ‘Cuenta’, cambie el nombre de usuario predeterminado ‘root’ por el suyo propio y luego haga clic en el botón ‘actualizar nombre de usuario’.

Cambiar el nombre de usuario raíz predeterminado Gitlab

Como resultado, se cambiaron el nombre de usuario y la dirección de correo electrónico predeterminados para el usuario root.

Añadir clave SSH

Ahora agregaremos la clave SSH al GitLab. Asegúrese de tener la clave SSH y, si no la tiene, puede generar la clave SSH con el siguiente comando.

ssh-keygen

Ahora obtendrá su clave SSH generada en el directorio ‘~/.ssh’, dentro del directorio de inicio del usuario.

Generar clave SSH

A continuación, vuelva al panel de control de GitLab y haga clic en el menú de la pestaña ‘SSH Keys’.

Copie el contenido de su clave pública SSH ‘~/.ssh/id_rsa.pub’ y péguelo en la página de GitLab, luego haga clic en el botón ‘Agregar clave’.

Agregar clave SSH a GitLab

Como resultado, la clave SSH se agregó a GitLab.

Configurar límite de proyectos por cuenta

En el menú central superior, haga clic en el botón ‘Configuración’.

Ahora haga clic en ‘Configuración’ > ‘General’, en la sección ‘Cuenta y límite’, haga clic en ‘Expandir’.

Configurar el límite del proyecto Gitlab

Cambie el «Límite de proyectos predeterminado» según lo necesite y haga clic en el botón «Guardar».

Como resultado, se modificó el límite de proyecto predeterminado para cada cuenta.

Paso 7: crear un nuevo proyecto y confirmar

En este paso, probaremos nuestra instalación de GitLab creando un nuevo proyecto de GitLab.

Crear nuevo proyecto de GitLab

Para crear un nuevo proyecto en GitLab, haga clic en el botón de complemento ‘+’ en el menú superior derecho.

Gitlab Crear nuevo proyecto

Ahora escriba los detalles del nombre de su proyecto, el slug del proyecto y la descripción, luego haga clic en el botón ‘Crear proyecto’.

Crear nuevo proyecto Gitlab

Y se ha creado el nuevo proyecto GitLab.

Configure GitLab en su computadora portátil

Después de crear un nuevo proyecto en GitLab, configuraremos la cuenta de GitLab en la computadora local.

Abra su terminal y ejecute el siguiente comando git para configurar el usuario y la dirección de correo electrónico predeterminados para git.

git config --global user.name "hakase"
git config --global user.email "[email protected]"

A continuación, clone su proyecto GitLab en el directorio de su computadora local y acceda a él.

git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/

Como resultado, se configuraron el usuario y el correo electrónico predeterminados para Git, y el proyecto de GitLab se clonó en la computadora local.

Configurar el proyecto Gitlab en la computadora local

Haz un cambio y comprométete

Ahora tenemos el proyecto GitLab en nuestra computadora local, y probaremos para cambiar el archivo ‘README.md’ y realizar la primera confirmación en nuestro proyecto GitLab.

Edite el archivo ‘README.md’ usando su editor.

vim README.md

Ahora haga un cambio en el archivo, luego guarde y cierre.

Después de eso, agregue la nueva versión del archivo ‘README.md’ y confirme ‘usando el comando a continuación.

git add .
git commit -m "Change README.md"

Ahora envíe los nuevos cambios al repositorio de GitLab usando el comando git push a continuación.

git push origin master

Los nuevos cambios del archivo ‘README.md’ se han enviado al repositorio de GitLab.

Maestro de Git Push Origin

A continuación, regrese a su repositorio de GitLab en su navegador web y obtendrá la nueva versión del archivo ‘README.md’ con el comentario de confirmación en la parte superior.

Empuje de Gitlab

Como resultado, creamos con éxito un nuevo proyecto de GitLab y realizamos cambios en él.

Finalmente, la instalación y configuración de GitLab en CentOS 8 Server se completó con éxito.

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *