Cómo instalar y configurar GitLab CE en Ubuntu 18.04/16.04 Server

CE de GitLab(Edición de la comunidad) es una herramienta de administrador de git gratuita y de código abierto, proporciona una hermosa interfaz gráfica de usuario y nos permite administrar todos nuestros repositorios de git desde el servidor centralizado.

GitLab CE generalmente se usa para equipos de desarrollo de software, donde los codificadores pueden registrar y verificar su código más reciente, también se puede usar para control de versiones, revisión de código y CI/CD(Integración Continua / Desarrollo Continuo) enfoque.

En este artículo, demostraremos cómo instalar la última versión de GitLab CE en el servidor Ubuntu 18.04/16.04. A continuación se muestran los detalles de mi configuración de laboratorio:

  • Dirección IP del servidor Ubuntu (18.04/16.04): 192.168.0.104
  • Nombre de host del servidor Ubuntu: gitlabce.example.com
  • RAM: 2 GB (aunque Gitlab recomienda 4 GB para la configuración de Gitlab)

1) Instale las dependencias de Gitlab usando el comando apt

Inicie sesión en su servidor Ubuntu 16.04/18.04 y ejecute los siguientes comandos apt para instalar las dependencias de gitlab,

[email protected]:~$ sudo apt update
[email protected]:~$ sudo apt install curl openssh-server ca-certificates postfix -y

El comando anterior le indicará cómo desea configurar el servidor Postfix, seleccione la opción que se adapte a su entorno.

2) Configurar el repositorio de paquetes de GitLab CE a través de un script

Ejecute el siguiente comando curl, que descargará el script gitlab-ce y configurará el repositorio de paquetes

[email protected]:~$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

La salida del comando curl anterior sería algo como lo siguiente:

GitLab-CE-Paquete-Repositorio

3) Instale el paquete GitLab CE usando el comando apt

Ejecute el siguiente comando para instalar y configurar gitlab-ce en su servidor automáticamente, reemplace el nombre de host del servidor como su configuración,

[email protected]:~$ sudo EXTERNAL_URL="http://gitlabce.example.com" apt-get install gitlab-ce

Una vez que el comando anterior se ejecute con éxito, obtendremos un resultado similar al siguiente:

Mensaje de instalación de GitLab-CE

Nota : Si el firewall del sistema operativo está habilitado en su servidor, entonces permita los puertos 80 y 443, en Ubuntu Servers ufw es el firewall predeterminado,

[email protected]:~$ sudo ufw allow http
Rule added
Rule added (v6)
[email protected]:~$ sudo ufw allow https
Rule added
Rule added (v6)
[email protected]:~$

4) Acceda al servidor GitLab desde el navegador web

Abra su navegador web favorito y escriba la URL http://gitlabce.example.com

La primera vez, nos pide que configuremos la contraseña, así que especifique la contraseña y haga clic en «Cambiar su contraseña»

GitLab-CE-Password-Set-Screen

En la siguiente pantalla obtendremos la siguiente pantalla, ahora inicie sesión con el nombre de usuario con «raíz” y la contraseña que hemos establecido en el paso anterior,

Iniciar sesión-GitLab-CE-GUI

Haga clic en «Iniciar sesión»

Tablero -GitLab-Ubuntu-18-04

A partir de ahora, nuestro servidor GitLab está funcionando en el protocolo http (80), si desea habilitar https para su portal GitLab, consulte el paso a continuación,

5) Configure https para su servidor GitLab

Toda la configuración importante para el servidor Gitlab está controlada por el archivo «/etc/gitlab/gitlab.rb” Así que edite este archivo, busque “URL_externa” y agregue el “gitlabce.ejemplo.com” delante del parámetro external_url

[email protected]:~$ sudo vi /etc/gitlab/gitlab.rb
----------------------------------------------------------
external_url 'https://gitlabce.example.com'
----------------------------------------------------------

Guardar y salir del archivo,

Ahora vamos a crear la siguiente carpeta y generar certificados autofirmados usando el comando openssl

[email protected]:~$ sudo mkdir -p /etc/gitlab/ssl
[email protected]:~$ sudo chmod 700 /etc/gitlab/ssl

Primero genere la clave privada usando el comando openssl,

[email protected]:~$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlabce.example.com.key 2048

Ingrese la frase de contraseña y recuérdela

Cree el CSR usando el siguiente comando,

[email protected]:~$ sudo openssl req -new -key /etc/gitlab/ssl/gitlabce.example.com.key -out /etc/gitlab/ssl/gitlabce.example.com.csr
Enter pass phrase for /etc/gitlab/ssl/gitlabce.example.com.key:
You are about to be asked to enter information that will be incorporated
into your certificate request.
What you are about to enter is what is called a Distinguished Name or a DN.
There are quite a few fields but you can leave some blank
For some fields there will be a default value,
If you enter '.', the field will be left blank.
-----
Country Name (2 letter code) [AU]:IN
State or Province Name (full name) [Some-State]:Delhi
Locality Name (eg, city) []:Delhi
Organization Name (eg, company) [Internet Widgits Pty Ltd]:LinuxTechi
Organizational Unit Name (eg, section) []:IT
Common Name (e.g. server FQDN or YOUR name) []:gitlabce.example.com
Email Address []:[email protected]

Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
[email protected]:~$

Eliminar frase de contraseña de la clave

Ejecute los siguientes comandos uno tras otro

[email protected]:~$ sudo cp -v /etc/gitlab/ssl/gitlabce.example.com.{key,original}
'/etc/gitlab/ssl/gitlabce.example.com.key' -> '/etc/gitlab/ssl/gitlabce.example.com.original'
[email protected]:~$
[email protected]:~$ sudo openssl rsa -in /etc/gitlab/ssl/gitlabce.example.com.original -out /etc/gitlab/ssl/gitlabce.example.com.key
Enter pass phrase for /etc/gitlab/ssl/gitlabce.example.com.original:
writing RSA key
[email protected]:~$
[email protected]:~$ sudo rm -v /etc/gitlab/ssl/gitlabce.example.com.original
removed '/etc/gitlab/ssl/gitlabce.example.com.original'
[email protected]:~$

Cree el certificado usando el siguiente comando openssl,

[email protected]:~$ sudo openssl x509 -req -days 1460 -in /etc/gitlab/ssl/gitlabce.example.com.csr -signkey /etc/gitlab/ssl/gitlabce.example.com.key -out /etc/gitlab/ssl/gitlabce.example.com.crt

Elimine el archivo CSR usando el siguiente comando rm,

[email protected]:~$ sudo rm -v /etc/gitlab/ssl/gitlabce.example.com.csr
removed '/etc/gitlab/ssl/gitlabce.example.com.csr'
[email protected]:~$

Establezca los siguientes permisos en clave y certificado

[email protected]:~$ sudo chmod 600 /etc/gitlab/ssl/gitlabce.example.com.key
[email protected]:~$ sudo chmod 600 /etc/gitlab/ssl/gitlabce.example.com.crt

Reconfigure el gitlab usando el siguiente comando

[email protected]:~$ sudo gitlab-ctl reconfigure

Una vez que el comando anterior se ejecuta con éxito, se debe poder acceder a su portal de GitLab a través del protocolo https. En mi caso, la URL será: https://gitlabce.example.com/

Cuando acceda por primera vez, dirá algo como que su conexión no es segura, haga clic en «Agregar excepción».

Panel Https-GitLab

6) Cree un proyecto de prueba y realice operaciones básicas de git

Vamos a crear un proyecto de prueba con el nombre «linuxrocas“, haga clic en la opción “Crear un proyecto” desde el panel de control de GitLab,

Nuevo-Proyecto-GitLab-Ubuntu-18-04

Especifique el Proyecto y su descripción y luego haga clic en «Crear proyecto»

GitLab-Dashboard-Linuxrocks-Proyecto-Ubuntu18-04

Ahora vamos a clonar el repositorio del proyecto «linuxrocks» usando los siguientes comandos,

[email protected]:~# git config --global user.name "Administrator"
[email protected]:~# git config --global user.email [email protected]
[email protected]:~# export GIT_SSL_NO_VERIFY=1
[email protected]:~# git clone https://gitlabce.example.com/root/linuxrocks.git
Cloning into 'linuxrocks'...
Username for 'https://gitlabce.example.com': root
Password for 'https://[email protected]':
warning: You appear to have cloned an empty repository.
[email protected]:~# ls
linuxrocks
[email protected]:~# cd linuxrocks
[email protected]:~/linuxrocks# touch linux-distributions.txt
[email protected]:~/linuxrocks# git add linux-distributions.txt
[email protected]:~/linuxrocks# git commit -m "add linux-distributions"
[master (root-commit) 3a72b57] add linux-distributions
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 linux-distributions.txt
[email protected]:~/linuxrocks# git push -u origin master
Username for 'https://gitlabce.example.com': root
Password for 'https://[email protected]':
Counting objects: 3, done.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (3/3), 238 bytes | 238.00 KiB/s, done.
Total 3 (delta 0), reused 0 (delta 0)
To https://gitlabce.example.com/root/linuxrocks.git
 * [new branch]      master -> master
Branch 'master' set up to track remote branch 'master' from 'origin'.
[email protected]:~/linuxrocks#

Ahora vaya al panel de control de GitLab y vea si se ha enviado un nuevo archivo al proyecto «linuxrocks».

Archivos-Proyectos-Gitlab-Dashboard-Ubuntu18-04

Con eso concluye nuestro artículo, hay muchas cosas que se pueden configurar, pero eso no es factible de discutir en este tutorial. Espero que este artículo lo ayude a instalar la última versión de GitLab en sus servidores Ubuntu, comparta sus comentarios y opiniones.

Entradas relacionadas

Deja una respuesta

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