GitLab CE(Edizione Community ) è uno strumento di gestione git gratuito e opensource, fornisce una bellissima interfaccia utente grafica e ci consente di gestire tutti i nostri repository git dal server centralizzato.
GitLab CE è generalmente utilizzato per i team di sviluppo software, dove i programmatori possono eseguire il check-in e il check-out del loro codice più recente, può anche essere utilizzato per il controllo della versione, la revisione del codice e CI/CD (Continua l'integrazione / Continua lo sviluppo).
In questo articolo dimostreremo come installare l'ultima versione di GitLab CE su Ubuntu 18.04 / 16.04 Server. Di seguito sono riportati i dettagli della mia configurazione del laboratorio:
- Indirizzo IP del server Ubuntu (18.04 /16.04):192.168.0.104
- Nome host del server Ubuntu:gitlabce.example.com
- RAM:2 GB (sebbene Gitlab raccomandi 4 GB per la configurazione di Gitlab)
1) Installa le dipendenze Gitlab usando il comando apt
Accedi al tuo server Ubuntu 16.04 / 18.04 ed esegui i seguenti comandi apt per installare le dipendenze di gitlab,
[email protected]:~$ sudo apt update [email protected]:~$ sudo apt install curl openssh-server ca-certificates postfix -y
Il comando sopra ti chiederà come configurare il server Postfix, seleziona l'opzione adatta al tuo ambiente.
2) Imposta il repository del pacchetto GitLab CE tramite script
Esegui il comando curl seguente, che scaricherà lo script gitlab-ce e configurerà il repository dei pacchetti
[email protected]:~$ curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
L'output del comando curl sopra sarebbe simile al seguente:
3) Installa il pacchetto GitLab CE usando il comando apt
Esegui il comando seguente per installare e configurare automaticamente gitlab-ce sul tuo server, sostituire il nome host del server come configurazione,
[email protected]:~$ sudo EXTERNAL_URL="http://gitlabce.example.com" apt-get install gitlab-ce
Una volta che il comando sopra è stato eseguito correttamente, otterremo un output simile a quello di seguito,
Nota : Se il firewall del sistema operativo è abilitato sul tuo server, consenti le porte 80 e 443, sui server Ubuntu ufw è il firewall predefinito,
[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) Accedi al server GitLab dal browser Web
Apri il tuo browser web preferito e digita l'URL http://gitlabce.example.com
La prima volta, ci viene chiesto di impostare la password, quindi specifica la password e fai clic su "Cambia la tua password"
Nella schermata successiva avremo la schermata sottostante, ora accedi con il nome utente con "root ” e la password che abbiamo impostato nel passaggio precedente,
Clicca su "Accedi"
A partire da ora il nostro server GitLab funziona sul protocollo http (80), se desideri abilitare https per il tuo portale GitLab, fai riferimento al passaggio seguente,
5) Configura https per il tuo server GitLab
Tutta la configurazione importante per il server Gitlab è controllata dal file “/etc/gitlab/gitlab.rb " Quindi modifica questo file, cerca "url_esterno " e aggiungi "gitlabce.example.com ” davanti al parametro external_url
[email protected]:~$ sudo vi /etc/gitlab/gitlab.rb ---------------------------------------------------------- external_url 'https://gitlabce.example.com' ----------------------------------------------------------
Salva ed esci dal file,
Ora creiamo la seguente cartella e generiamo certificati di autofirma usando il comando openssl
[email protected]:~$ sudo mkdir -p /etc/gitlab/ssl [email protected]:~$ sudo chmod 700 /etc/gitlab/ssl
Lascia prima generare la chiave privata usando il comando openssl,
[email protected]gitlabce:~$ sudo openssl genrsa -des3 -out /etc/gitlab/ssl/gitlabce.example.com.key 2048
Inserisci la passphrase e ricordala
Crea la CSR utilizzando il comando seguente
[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]:~$
Rimuovi passphrase dalla chiave
Esegui i seguenti comandi uno dopo l'altro
[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]:~$
Crea il certificato utilizzando il comando openssl di seguito,
[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
Rimuovere il file CSR utilizzando il comando rm sotto,
[email protected]:~$ sudo rm -v /etc/gitlab/ssl/gitlabce.example.com.csr removed '/etc/gitlab/ssl/gitlabce.example.com.csr' [email protected]:~$
Imposta le autorizzazioni seguenti su Chiave e Certificato
[email protected]:~$ sudo chmod 600 /etc/gitlab/ssl/gitlabce.example.com.key [email protected]:~$ sudo chmod 600 /etc/gitlab/ssl/gitlabce.example.com.crt
Riconfigura gitlab usando il comando seguente
[email protected]:~$ sudo gitlab-ctl reconfigure
Una volta che il comando precedente è stato eseguito correttamente, il tuo portale GitLab dovrebbe essere accessibile tramite il protocollo https, nel mio caso l'URL sarà:https://gitlabce.example.com/
Quando accedi per la prima volta, dirà qualcosa come la tua connessione non è sicura, fai clic su "Aggiungi-eccezione.."
6) Crea un progetto di prova ed esegui le operazioni git di base
Creiamo un progetto di prova con il nome "linuxrocks ", fai clic sull'opzione "Crea un progetto" dalla dashboard di GitLab,
Specifica il Progetto e la sua descrizione e poi clicca su “Crea progetto”
Ora cloniamo il repository del progetto "linuxrocks" usando i seguenti comandi,
[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#
Ora vai alla dashboard di GitLab e controlla se il nuovo file è stato inserito nel progetto "linuxrocks"
Con questo concludiamo il nostro articolo, ci sono molte cose che possono essere configurate, ma non è possibile discuterne in questo tutorial. Spero che questo articolo ti aiuti a installare l'ultima versione di GitLab sui tuoi server Ubuntu, per favore condividi il tuo feedback e commenti.