GitLab è un gestore di repository Git basato sul Web open source, scritto in Ruby. Include un wiki, gestione dei problemi, revisione del codice, monitoraggio e integrazione e distribuzione continue.
GitLab consente agli sviluppatori di creare, distribuire ed eseguire le proprie applicazioni.
Sono disponibili tre edizioni di GitLab per il pubblico, Community Edition (CE), Enterprise Edition (EE) e una versione ospitata da GitLab.
GitLab può importare progetti e problemi da diverse fonti, incluso GitHub , il che semplifica il processo di migrazione. L'interfaccia web di GitLab è pulita, intuitiva e vicina all'interfaccia di GitHub.
Esistono diversi modi per installare GitLab a seconda delle tue preferenze.
Questo post copre l'installazione e la configurazione di GitLab (CE) su un CentOS 7 , Ubuntu 18.04 &Debian 9 macchina utilizzando il pacchetto Omnibus.
Requisiti di sistema
I requisiti di sistema sono basati sul numero di utenti chi userebbe GitLab.
Per 100 utenti:
2 core
4 GB RAM + 4 GB SWAP
PostgreSQL (altamente consigliato)
10 GB di spazio libero su disco
Prerequisiti
Installa le dipendenze con i seguenti comandi.
### CentOS 7 / RHEL 7 ### yum install -y curl policycoreutils-python openssh-server ### Ubuntu 18.04 / Debian 9 ### sudo apt-get update sudo apt-get install -y curl openssh-server ca-certificates
Firewall (CentOS / RHEL)
Per poter accedere all'interfaccia web di GitLab dovrai aprire le porte 80 e 443. Esegui i seguenti comandi.
firewall-cmd --permanent --add-service=http firewall-cmd --permanent --add-service=https firewall-cmd --reload
Installa Postfix
Affinché GitLab invii e-mail di notifica, puoi utilizzare Postfix o utilizzare servizi di posta elettronica esterni come SendGrid, MailChimp, MailGun o SES.
Puoi saltare i seguenti passaggi nel caso in cui desideri configurare GitLab con servizi di posta elettronica esterni e può essere eseguito dopo l'installazione di GitLab.
Esegui il comando seguente per installare Postfix.
### CentOS 7 / RHEL 7 ### yum install -y postfix ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y postfix
Ubuntu/Debian: Durante l'installazione di Postfix, ti verrà chiesto di selezionare il tipo di configurazione del server di posta. Selezionare Sito Internet e quindi premere INVIO. Successivamente, dovrai inserire il nome della posta che dovrebbe essere il nome host del tuo server o il nome DNS esterno del tuo server (es. esempio.com o gitlab.esempio.com).
Una volta completata l'installazione di Postfix, avvia e abilita il servizio Postfix eseguendo i seguenti comandi.
### CentOS 7 / RHEL 7 ### systemctl start postfix systemctl enable postfix ### Ubuntu 18.04 / Debian 9 ### sudo systemctl start postfix sudo systemctl enable postfix
Installa GitLab
Aggiungi il repository GitLab al tuo sistema usando il seguente comando.
### CentOS 7 / RHEL 7 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash ### Ubuntu 18.04 / Debian 9 ### curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Lo script sopra abiliterà il repository e installerà le dipendenze necessarie.
Una volta completato, installa GitLab eseguendo il comando seguente.
### CentOS 7 / RHEL 7 ### yum install -y gitlab-ce ### Ubuntu 18.04 / Debian 9 ### sudo apt-get install -y gitlab-ce
Attendi il completamento dell'installazione. Dopo una corretta installazione, otterrai il seguente output.
Prima di accedere a GitLab, è necessario configurare un URL per GitLab. Per farlo, modifica il file di configurazione principale di GitLab /etc/gitlab/gitlab.rb .
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Imposta url_esterno al tuo nome di dominio o IP.
external_url "http://gitlab.itzgeek.local"
Una volta modificato, riconfigura GitLab per applicare le modifiche recenti nel file di configurazione utilizzando il comando seguente.
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Configura GitLab con Let's Encrypt SSL
Modifica il file di configurazione principale di GitLab.
### CentOS 7 / RHEL 7 ### vi /etc/gitlab/gitlab.rb ### Ubuntu 18.04 / Debian 9 ### sudo nano /etc/gitlab/gitlab.rb
Per abilitare il supporto Let's Encrypt per URL esterni, devi aggiornare external_url con il nome di dominio pubblico (es. gitlab.itzgeek.com).
external_url "https://gitlab.itzgeek.com"
Quindi, trova Integrazione Let's Encrypt sezione e decommenta la riga che inizia con letsencrypt['enable'] e impostalo su true .
Facoltativamente, se vuoi puoi scegliere di ricevere e-mail da Let's Encrypt rispetto al tuo dominio (es. promemoria di scadenza del certificato SSL) decommentando la riga che inizia con letsencrypt['contact_emails'] e aggiungi i tuoi indirizzi email.
Inoltre, puoi abilitare il rinnovo automatico del certificato SSL Let's Encrypt.
# Enable Let's Encrypt integration letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] # Enable Let's Encrypt SSL reneal on every 4th day at 12:30 letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = "12" letsencrypt['auto_renew_minute'] = "30" letsencrypt['auto_renew_day_of_month'] = "*/4"
Salva e chiudi il file.
Visita il portale del tuo registrar DNS e crea un record per indirizzare il tuo external_url al tuo indirizzo IPv4 GitLab.
NAME TTL TYPE DATA gitlab.itzgeek.com. 3600 A 35.231.140.52
Infine, esegui il comando seguente per riconfigurare Gitlab.
### CentOS 7 / RHEL 7 ### gitlab-ctl reconfigure ### Ubuntu 18.04 / Debian 9 ### sudo gitlab-ctl reconfigure
Accedi all'interfaccia Web di GitLab
Avvia il tuo browser web e vai a.
https://tuo.dominio.comO
http://tuo.server.ver.ipLa prima volta che accedi all'interfaccia web di GitLab, verrai reindirizzato a una pagina in cui ti verrà chiesto di impostare la password per l'account amministrativo (root).
Immettere la password desiderata e fare clic sul pulsante Modifica password.
Dopo aver impostato la password, verrai reindirizzato alla pagina di accesso.
Il nome utente dell'account amministrativo predefinito è root.
Nome utente:root
Password:[la password che hai impostato]
Immettere le credenziali di accesso e quindi fare clic sul pulsante Accedi.
Verrai indirizzato alla pagina di benvenuto di GitLab.
Cambia il nome utente dell'account predefinito
Come prima operazione, cambieremo il nome utente dell'account predefinito da root a qualcos'altro.
Fai clic sull'icona Gravatar dell'amministratore nell'angolo in alto a destra e scegli Impostazioni.
Vai su Account e inserisci il nuovo nome account nel campo Modifica nome utente, quindi fai clic su Aggiorna nome utente.
Fai clic su Aggiorna nome utente per confermare le modifiche.
Dovrai inserire il nuovo nome utente al tuo prossimo accesso.
Aggiungi chiave SSH
Per inviare le modifiche git locali al server GitLab tramite SSH, è necessario aggiungere la chiave pubblica SSH (id_rsa.pub) al tuo account GitLab.
Se hai già creato una coppia di chiavi SSH esistente, puoi visualizzare copiare la chiave pubblica visualizzando il contenuto della chiave utilizzando il comando cat.
cat ~/.ssh/id_rsa.pub
Nel caso in cui il comando ti generi un errore come Nessun file o directory del genere significa che il tuo sistema non ha una coppia di chiavi SSH generata.
Per generare una coppia di chiavi SSH usa il comando seguente.
ssh-keygen -o -t rsa -b 4096 -C "[email protected]"
Copia l'output dal comando cat.
cat ~/.ssh/id_rsa.pub
Vai all'interfaccia web di GitLab e fai clic sull'icona Gravatar nell'angolo in alto a destra e scegli Impostazioni.
Fai clic sulle chiavi SSH nel riquadro a sinistra.
Incolla la chiave pubblica che hai precedentemente copiato dal tuo computer locale e assegna un nome alla tua chiave, quindi fai clic sul pulsante Aggiungi chiave.
Verifica l'accesso utilizzando il comando seguente.
ssh -T [email protected]
Risultato:
Welcome to GitLab, @raj!
Questo è tutto.