GitLab è un gestore di repository open source basato su Rails sviluppato da GitLab Inc. È un gestore di repository git basato sul Web che consente al tuo team di collaborare alla codifica, al test e alla distribuzione di applicazioni. GitLab offre diverse funzionalità, tra cui wiki, monitoraggio dei problemi, revisioni del codice e feed di attività.
GitLab Inc offre 4 prodotti:
- Gitlab CE (Community Edition) - self-hosted e gratuito; supporto dal forum della community.
- Gitlab EE (Enterprise Edition) - self-hosted e a pagamento; viene fornito con funzionalità aggiuntive.
- GitLab.com - SaaS e gratuito.
- GitLab.io - Istanza GitLab privata gestita da GitLab Inc.
In questo tutorial, ti mostreremo come installare GitLab CE sul server CentOS 8. Installeremo GitLab CE utilizzando il pacchetto 'omnibus' fornito da GitLab, eseguiremo alcune configurazioni di base di GitLab e proveremo per creare un nuovo progetto GitLab.
Prerequisito
Per questa guida, installeremo GitLab CE sull'ultima versione di CentOS 8 Server con 4 GB di RAM, 30 GB di spazio libero su disco e 2 CPU.
Cosa faremo?
- Installa le dipendenze dei pacchetti
- Aggiungi repository e installa GitLab CE (Community Edition)
- Genera certificato SSL Letsencrypt e DHPARAM
- Abilita Nginx HTTPS per GitLab
- Configura Firewalld
- Installazione Post GitLab
- Test
Passaggio 1:installazione delle dipendenze dei pacchetti
Innanzitutto, installeremo alcune dipendenze dei pacchetti necessarie a GitLab, inclusi i pacchetti OpenSSH e Postfix.
Installa le dipendenze dei pacchetti per GitLab CE usando il comando dnf di seguito.
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
Una volta completata l'installazione, avvia i servizi SSH e Postfix.
systemctl start sshd
systemctl start postfix
Quindi, aggiungi entrambi i servizi all'avvio del sistema.
systemctl enable sshd
systemctl enable postfix
Di conseguenza, l'installazione delle dipendenze dei pacchetti è stata completata.
Passaggio 2:aggiungi repository e installa GitLab
In questo passaggio, aggiungeremo il repository GitLab ufficiale al nostro sistema CentOS 8 e installeremo i pacchetti GitLab CE.
Aggiungi il repository GitLab utilizzando lo script di installazione di seguito.
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Una volta completato tutto, di seguito è riportato il risultato che otterrai.
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
Per verificare il repository GitLab, esegui il comando dnf di seguito.
sudo dnf repolist
E otterrai il repository GitLab nell'elenco.
Quindi, installa i pacchetti GitLab CE usando il comando
sudo dnf install gitlab-ce -y
Una volta completata tutta l'installazione, otterrai il risultato come di seguito.
Di conseguenza, GitLab CE Community Edition è ora installato sul sistema CentOS 8.
Fase 3:genera SSL Letsencrypt e DHPARAM
Per questo tutorial, eseguiremo GitLab sulla connessione HTTPS sicura e utilizzeremo Letsencrypt SSL di Letsencrypt e DHAPRAM che può essere generato utilizzando il comando openssl.
In questo passaggio, genereremo SSL Letsencrypt utilizzando lo strumento da riga di comando certbot, che può essere installato dal repository EPEL, e quindi genereremo il certificato DHPARAM utilizzando openssl.
Aggiungi il repository EPEL al sistema CentOS 8 utilizzando il comando seguente.
sudo dnf install epel-release
Quindi, installa i pacchetti certbot usando il comando dnf di seguito.
sudo dnf install certbot
Una volta completata l'installazione, genera SSL Letsencryp per GitLab utilizzando il comando certbot di seguito.
certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io
Ora i tuoi certificati SSL saranno disponibili nella directory '/etc/letsencrypt/live/gitlab.hakase-labs.io', controlla usando il seguente comando.
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
Riceverai i certificati 'fullchain.pem' e 'privkey.pem'.
Quindi, genera il certificato DHPARAM nella directory '/etc/gitlab' usando il comando openssl di seguito.
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
Una volta completato tutto, cambia l'autorizzazione del certificato 'dhparam.pem' in '0600'.
sudo chmod 600 /etc/gitlab/dhparams.pem
Di conseguenza, sono stati generati i certificati SSL Letsencrypt e DHPARAM per GitLab.
Passaggio 4:imposta il nome di dominio Abilita Nginx HTTPS per GitLab
In questo passaggio, imposteremo il nome di dominio e abiliteremo la connessione sicura HTTPS Nginx per GitLab.
Vai alla directory '/etc/gitlab' e modifica la configurazione 'gitlab.rb'.
cd /etc/gitlab/
vim gitlab.rb
Nella riga "url_esterno", cambia il nome di dominio predefinito con il tuo e cambia il protocollo da http a https come di seguito.
external_url 'https://gitlab.hakase-labs.io'
Quindi, aggiungi la seguente configurazione dopo la riga 'external_url' e assicurati di modificare il certificato SSL e DHPARAM con il tuo.
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
Salva e chiudi.
Quindi, esegui il comando seguente per riconfigurare GitLab e applicare la nuova configurazione.
sudo gitlab-ctl reconfigure
Il comando invocherà lo script Chef che ha alimentato Omnibus GitLab per riconfigurare l'installazione di GitLab.
Una volta completato tutto, vai al passaggio successivo.
Passaggio 5 - Configura Firewalld
Dopo aver abilitato HTTPS su GitLab, aggiungeremo i servizi HTTP e HTTPS al firewalld.
Esegui il comando firewall-cmd di seguito.
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Dopodiché, ricarica il servizio firewalld per applicare una nuova configurazione.
firewall-cmd --reload
Ora controlla tutti i servizi su firewalld usando il comando qui sotto.
firewall-cmd --list-services
Ora otterrai i servizi SSH, HTTP e HTTPS nell'elenco.
Di conseguenza, hai aggiunto i servizi HTTP e HTTPS al firewalld e GitLab è ora pronto e accessibile.
Passaggio 6 - Installazione GitLab Post
Apri il tuo browser web e digita l'installazione del tuo nome di dominio GitLab sulla barra degli indirizzi. Il mio è: https://gitlab.hakase-labs.io/, usa il tuo indirizzo.
E verrai reindirizzato alla pagina di reimpostazione della password.
- GitLab Ripristina password predefinita
Digita la nuova password per l'utente GitLab predefinito 'root '.
Ora fai clic su 'Cambia la tua password ' e verrai reindirizzato alla pagina di accesso di GitLab.
Digita l'utente predefinito 'root ' e la tua password, quindi fai clic su 'Accedi ' e otterrai la dashboard GitLab come di seguito.
Cambia profilo e nome utente
Dopo aver effettuato l'accesso al dashboard di GitLab, cambia l'impostazione predefinita 'root ' utente con il tuo.
Per modificare l'impostazione del profilo, fai clic su in alto a destra dell'icona del profilo e fai clic su 'Impostazioni ' per impostare il tuo profilo.
Ora digita il tuo nuovo nome utente e indirizzo e-mail, quindi scorri fino alla pagina in basso e fai clic su 'aggiorna impostazioni profilo pulsante '.
Quindi, fai clic su 'Account ', cambia il nome utente predefinito 'root ' con il tuo, quindi fai clic su 'aggiorna nome utente pulsante '.
Di conseguenza, il nome utente e l'indirizzo e-mail predefiniti per l'utente root sono stati modificati.
Aggiungi chiave SSH
Ora aggiungeremo la chiave SSH a GitLab. Assicurati di avere la chiave SSH e, in caso contrario, puoi generare la chiave SSH utilizzando il comando seguente.
ssh-keygen
Ora otterrai la tua chiave SSH generata in '~/.ssh ', all'interno della directory home dell'utente.
Quindi, torna alla dashboard di GitLab e fai clic sul menu della scheda "Chiavi SSH".
Copia il contenuto della tua chiave pubblica SSH '~/.ssh/id_rsa.pub ' e incollalo nella pagina GitLab, quindi fai clic su 'Aggiungi chiave pulsante '.
Di conseguenza, la chiave SSH è stata aggiunta a GitLab.
Imposta limite progetto per account
Nel menu in alto al centro, fai clic su 'Impostazioni pulsante '.
Ora fai clic su "Impostazioni"> "Generale ', nella sezione 'Account e limite', fai clic su 'Espandi '.
Modifica il "Limite progetti predefiniti " di cui hai bisogno e fai clic su 'Salva pulsante '.
Di conseguenza, il limite di progetto predefinito per ogni account è stato modificato.
Passaggio 7:crea un nuovo progetto e impegnati
In questo passaggio, testeremo la nostra installazione di GitLab creando un nuovo progetto GitLab.
Crea nuovo progetto GitLab
Per creare un nuovo progetto su GitLab, fai clic su '+ ' pulsante plug nel menu in alto a destra.
Ora digita i dettagli del nome del progetto, lo slug del progetto e la descrizione, quindi fai clic su 'Crea progetto pulsante '.
Ed è stato creato il nuovo progetto GitLab.
Configura GitLab sul tuo laptop
Dopo aver creato un nuovo progetto su GitLab, configureremo l'account GitLab sul computer locale.
Apri il tuo terminale ed esegui il seguente comando git per impostare l'utente e l'indirizzo email predefiniti per git.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Quindi, clona il tuo progetto GitLab nella directory del tuo computer locale e vai al suo interno.
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
Di conseguenza, l'utente e l'e-mail predefiniti per Git sono stati configurati e il progetto GitLab è stato clonato sul computer locale.
Apporta una modifica e accettala
Ora abbiamo il progetto GitLab sul nostro computer locale e proveremo a modificare il file "README.md" ed eseguire il primo commit nel nostro progetto GitLab.
Modifica il file 'README.md' usando il tuo editor.
vim README.md
Ora apporta una modifica al file, quindi salva e chiudi.
Successivamente, aggiungi la nuova versione del file "README.md" e esegui il commit" utilizzando il comando seguente.
git add .
git commit -m "Change README.md"
Ora invia le nuove modifiche al repository GitLab utilizzando il comando git push di seguito.
git push origin master
Le nuove modifiche del file 'README.md' sono state inviate al repository GitLab.
Quindi, torna al tuo repository GitLab sul tuo browser web e otterrai la nuova versione del file "README.md" con il commento di commit come sopra.
Di conseguenza, abbiamo creato con successo un nuovo progetto GitLab e abbiamo apportato modifiche.
Infine, l'installazione e la configurazione di GitLab su CentOS 8 Server è stata completata con successo.