GitLab è un gestore Gitrepository open source basato sul Web scritto in Ruby che include wiki, gestione dei problemi, revisione del codice, monitoraggio e integrazione e distribuzione continue. Consente agli sviluppatori di creare, rivedere e distribuire i propri progetti.
Sono disponibili tre diverse edizioni di GitLab, Community Edition (CE), Enterprise Edition (EE) e una versione ospitata da GitLab.
GitLabis è la scelta numero uno se vuoi allontanarti da GitHub. Può importare progetti e problemi da diverse fonti, incluso GitHub, che semplifica il processo di migrazione. L'interfaccia di GitLab è ben progettata, pulita, intuitiva e vicina a quella di GitHub in termini di esperienza utente e funzionalità.
Esistono diversi modi per installare GitLab a seconda del caso d'uso richiesto. Questo tutorial illustra i passaggi necessari per l'installazione e la configurazione di GitLab (CE) su un sistema Ubuntu 18.04 utilizzando i pacchetti Omnibus.
Prerequisiti #
Questo tutorial presuppone che tu abbia una nuova installazione di Ubuntu 18.04. In base alla pagina dei requisiti di GitLab, si consiglia di utilizzare un server con:
- almeno 4 GB di memoria RAM.
- 2 core CPU.
- almeno 2 GB di spazio di swap.
- (opzionale) Dominio o sottodominio che punta all'indirizzo IP del server.
Per un ulteriore livello di sicurezza si consiglia di configurare un firewall di base. Puoi seguire i passaggi nella nostra guida Come configurare un firewall con UFW su Ubuntu 18.04.
Prima di iniziare con il tutorial, assicurati di aver effettuato l'accesso come utente con privilegi sudo.
Installazione delle dipendenze richieste #
Aggiorna l'indice del pacchetto locale e installa le dipendenze con i seguenti comandi:
sudo apt update
sudo apt install curl openssh-server ca-certificates
Affinché GitLab possa inviare e-mail di notifica, puoi installare e utilizzare Postfix o utilizzare alcuni servizi di posta transazionale come SendGrid, MailChimp, MailGun o SES, nel qual caso puoi saltare il passaggio seguente e configurare [Impostazioni SMTP di GitLab] (https://docs.gitlab.com/omnibus/settings/smtp.html) al termine dell'installazione.
Esegui i seguenti comandi per installare Postfix sul tuo server Ubuntu:
debconf-set-selections <<< "postfix postfix/mailname string $(hostname -f)"
debconf-set-selections <<< "postfix postfix/main_mailer_type string 'Internet Site'"
sudo apt install postfix
Per informazioni più dettagliate su come configurare il tuo server di posta, controlla questa serie.
Installazione di GitLab #
L'installazione di GitLab è un processo piuttosto semplice. Installeremo il pacchetto GitLab CE utilizzando apt
gestore di pacchetti.
Inizia aggiungendo il repository GitLab all'elenco delle fonti di sistema utilizzando il seguente comando curl:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Una volta abilitato il repository, installa il pacchetto GitLab eseguendo il comando seguente.
sudo apt install gitlab-ce
Il processo di installazione potrebbe richiedere del tempo e dopo un'installazione riuscita, vedrai il seguente output:
Thank you for installing GitLab!
Regolazione delle regole del firewall #
La guida sulla configurazione di un firewall di base è collegata alla sezione dei prerequisiti. Per poter accedere all'interfaccia di GitLab dobbiamo aprire le porte 80
e 443
:
sudo ufw allow OpenSSH
sudo ufw allow http
sudo ufw allow https
Per essere sicuro che le porte richieste siano aperte puoi controllare lo stato del firewall con:
sudo ufw status
Status: active
To Action From
-- ------ ----
80/tcp ALLOW Anywhere
443/tcp ALLOW Anywhere
OpenSSH ALLOW Anywhere
80/tcp (v6) ALLOW Anywhere (v6)
443/tcp (v6) ALLOW Anywhere (v6)
OpenSSH (v6) ALLOW Anywhere (v6)
Imposta l'URL GitLab #
Prima di accedere all'interfaccia web di GitLab è necessario impostare l'URL su cui GitLab sarà raggiungibile. Apri il file di configurazione di Gitlab e apporta le seguenti modifiche:
sudo nano /etc/gitlab/gitlab.rb
Nella parte superiore del file di configurazione, vedrai una riga che inizia con external_url
. Modifica il valore in modo che corrisponda al tuo dominio/sottodominio o indirizzo IP. Se hai un dominio usa https
e se vuoi accedere all'interfaccia di GitLab tramite l'indirizzo IP del tuo server usa http
.
external_url 'https://gitlab.example.com'
Quindi cerca "Let's Encrypt integration", decommenta la riga che inizia con letsencrypt['enable']
e impostalo su true. Facoltativamente se vuoi ricevere email da Let's Encrypt relative al tuo dominio decommenta la riga che inizia con letsencrypt['contact_emails']
e aggiungi il tuo indirizzo email.
Se imposti il external_url
a un indirizzo IP, quindi non abilitare l'integrazione Let's Encrypt.
letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['[email protected]'] # This should be an array of email addresses to add as contacts
Infine, salva e chiudi il file ed esegui il seguente comando per riconfigurare Gitlab:
sudo gitlab-ctl reconfigure
Il comando riconfigura le impostazioni di GitLab e genera un certificato SSL Let's encrypt gratuito.
Configura GitLab tramite l'interfaccia Web #
Ora che hai configurato l'URL di GitLab puoi iniziare con la configurazione iniziale tramite l'interfaccia web di GitLab.
Avvia il tuo browser web e vai a:
https://your_gitlab_domain_or_server_IP.com
1. Impostazione della password dell'account amministrativo #
La prima volta che accedi all'interfaccia web ti verrà chiesto di impostare la password per l'account amministrativo.
Inserisci una password sicura e fai clic su Change your password
pulsante quando hai finito.
Verrai reindirizzato alla pagina di accesso:
Il nome utente dell'account amministrativo predefinito è root
. Più avanti in questo tutorial, ti mostreremo come modificare il nome utente.
- Nome utente:root
- Password:[la password che hai impostato]
Dopo aver inserito le credenziali di accesso e fare clic su Sign in
pulsante verrai indirizzato alla pagina di benvenuto di GitLab.
2. Modifica del profilo utente #
La prima cosa che vorrai fare è modificare il tuo profilo utente. Fai clic sull'avatar dell'utente (angolo in alto a destra) e dal menu a discesa, seleziona Settings
:
Qui puoi modificare il tuo nome, e-mail e altre informazioni e impostazioni del profilo. Apporta le modifiche a tuo piacimento.
Al termine, fai clic su Update Profile settings
e a breve riceverai una mail di conferma all'indirizzo che hai fornito. Per confermare il tuo account segui le istruzioni fornite nell'e-mail.
3. Modifica del nome utente #
Per accedere alla pagina Profilo, clicca su Account
collegamento dal menu di navigazione verticale di sinistra.
Come già sai, il nome utente predefinito del primo account amministrativo è root
. Per cambiarlo basta digitare il tuo nuovo nome utente e fare clic su Update username
pulsante.
In questa schermata puoi anche abilitare l'autenticazione a due fattori.
La prossima volta che accederai alla dashboard di GitLab dovrai inserire il nuovo nome utente.
4. Aggiunta della chiave SSH #
Per essere in grado di inviare le modifiche git locali al server GitLab, devi aggiungere la tua chiave pubblica SSH al tuo account GitLab.
Se hai già una coppia di chiavi SSH creata sul tuo sistema locale, puoi visualizzare la chiave pubblica digitando:
cat ~/.ssh/id_rsa.pub
L'output dovrebbe essere simile al seguente:
ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== [email protected]
Nel caso in cui il comando sopra stampi No such file or directory
significa che non hai una coppia di chiavi SSH generata sulla tua macchina.
Per generare una nuova coppia di chiavi SSH utilizzare il seguente comando:
ssh-keygen -t rsa -b 4096 -C "[email protected]"
Copia l'output dal comando cat e torna all'interfaccia web di GitLab. Fai clic su SSH Keys
dal menu di navigazione verticale di sinistra per accedere alla pagina di configurazione delle chiavi SSH.
Nella Key
textarea incolla la chiave pubblica che hai precedentemente copiato dal tuo computer locale, imposta un titolo descrittivo e clicca su Add key
pulsante:
Ora dovresti essere in grado di eseguire il push e il pull delle modifiche al tuo progetto dal tuo computer locale senza dover fornire le credenziali del tuo account GitLab.