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:
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:
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»
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,
Haga clic en «Iniciar sesión»
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».
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,
Especifique el Proyecto y su descripción y luego haga clic en «Crear proyecto»
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».
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.