Come installare GitLab su Debian 12 o 11

GitLab è una piattaforma DevOps completa che fornisce un'ampia gamma di funzionalità per il controllo della versione, l'integrazione continua, la distribuzione e la gestione dei progetti. Integra varie fasi del ciclo di vita DevOps in un'unica applicazione, consentendo ai team di lavorare in modo collaborativo ed efficiente. GitLab Community Edition (CE) è la versione open source di GitLab, che offre potenti strumenti per la gestione dei repository, il monitoraggio dei problemi e l'automazione delle pipeline CI/CD.

Per installare GitLab CE su Debian 12 o 11, puoi usare lo script Bash ufficiale di GitLab per impostare il repository APT di GitLab CE e quindi installare e configurare il software. Questa guida ti guiderà attraverso l'intero processo, assicurandoti di avere una configurazione GitLab solida sul tuo sistema Debian.

Aggiorna Debian prima dell'installazione di Gitlab

Mantenere aggiornato il tuo sistema operativo Debian è fondamentale per mantenerne la stabilità e la sicurezza. Per garantire che tutti i pacchetti esistenti sul tuo sistema Debian siano aggiornati, si consiglia di eseguire un aggiornamento per fornire gli ultimi aggiornamenti di sicurezza e correzioni di bug, garantendo la stabilità e l'affidabilità del tuo sistema.

Puoi aggiornare facilmente il tuo sistema operativo Debian eseguendo il seguente comando:

sudo apt update && sudo apt upgrade 

Installa i pacchetti richiesti per GitLab

Garantire che tutte le dipendenze per GitLab siano installate è un passaggio fondamentale nel processo di installazione. Queste dipendenze sono componenti necessari su cui GitLab fa affidamento per funzionare correttamente. Fortunatamente, installare queste dipendenze è un processo semplice.

Puoi installarli facilmente aprendo il terminale ed eseguendo il seguente comando:

sudo apt install curl ca-certificates apt-transport-https tzdata perl

Importa il repository APT di GitLab CE

Per impostazione predefinita, GitLab non è disponibile nei repository predefiniti di Debian. Ciò significa che è necessario creare manualmente un repository per installare GitLab. Tuttavia, GitLab fornisce uno script APT per aiutare in questo processo, rendendo più semplice per gli utenti l'installazione della piattaforma. Con questo script puoi creare un repository GitLab, che ti consentirà di installare GitLab utilizzando il gestore pacchetti APT standard.

Per scaricare lo script, inserisci il seguente comando nel tuo terminale:

curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Una volta eseguito questo comando, lo script scaricherà e aggiungerà il repository GitLab al tuo sistema Debian. Aggiornerà anche l'elenco dei pacchetti, consentendoti di installare GitLab utilizzando il gestore di pacchetti APT standard.

Finalizza l'installazione di GitLab tramite il comando APT

Il prossimo passo è installare GitLab. Ricordiamo che lo script ha già utilizzato il comando “apt update” per sincronizzare il repository appena creato e modificato. Fatto ciò, puoi ora procedere con l'esecuzione del comando di installazione eseguendo quanto segue:

sudo apt install gitlab-ce

Questo comando installerà GitLab Community Edition (CE), la versione gratuita e open source di GitLab. Il processo di installazione potrebbe richiedere del tempo, a seconda della velocità di Internet e delle specifiche del sistema.

Output di esempio se l'installazione di GitLab ha esito positivo su Debian:

Configura GitLab

Per configurare GitLab su Debian è necessario seguire attentamente alcuni passaggi. Questa sezione descriverà il processo passo dopo passo, inclusa la configurazione del nome host, l'impostazione del firewall e la configurazione delle impostazioni e-mail.

Configura il nome host

Per accedere alla tua istanza GitLab, è fondamentale configurare il nome host per il tuo server GitLab, quindi scegli un nome che sia facile da ricordare e a cui accedere. Seguire questi passaggi per configurare il nome host:

Apri il file di configurazione GitLab utilizzando un editor di testo:

sudo nano /etc/gitlab/gitlab.rb

Individua l'impostazione external_url e sostituisci l'URL di esempio con il nome host desiderato:

external_url 'https://gitlab.example.com'

Salvare il file e uscire dall'editor di testo.

Ora riconfigura GitLab per applicare le modifiche:

sudo gitlab-ctl reconfigure

Configura il firewall UFW per Gitlab

GitLab utilizza la porta 80 per HTTP e la porta 443 per HTTPS per impostazione predefinita. È fondamentale configurare il firewall per consentire il traffico su queste porte e garantire che la tua istanza GitLab sia accessibile.

Seguire questi passaggi per configurare il firewall:

Innanzitutto, installa il firewall UFW, poiché questo non viene installato su Debian per impostazione predefinita, con il seguente comando:

sudo apt install ufw

Successivamente, una volta completata l'installazione, abilitare il firewall UFW con il seguente comando:

sudo ufw enable

Apri il file di configurazione del firewall utilizzando un editor di testo:

sudo nano /etc/ufw/applications.d/gitlab

Copia e incolla le seguenti righe nel file:

[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp

Salvare il file e uscire dall'editor di testo.

Abilita l'applicazione GitLab nel firewall:

sudo ufw app update GitLab
sudo ufw allow GitLab

Configura le impostazioni di posta elettronica

GitLab utilizza notifiche e-mail per informare gli utenti sulle attività del progetto, come nuovi problemi, richieste di unione e commenti.

Seguire questi passaggi per configurare le impostazioni e-mail:

Apri il file di configurazione GitLab utilizzando un editor di testo:

sudo nano /etc/gitlab/gitlab.rb

Individua l'impostazione gitlab_rails['smtp_enable'] e impostala su true:

gitlab_rails['smtp_enable'] = true

Aggiungi le seguenti righe al file per configurare le impostazioni del server SMTP per il tuo provider di posta elettronica, come Gmail:

gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "example@gmail.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Salvare il file e uscire dall'editor di testo.

Riconfigurare GitLab per applicare le modifiche:

sudo gitlab-ctl reconfigure

È importante notare che dopo aver eseguito il comando “gitlab-ctl reconfigure”, potresti osservare che l'output del terminale si conclude con il seguente messaggio:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

Per visualizzare la password di root (GitLab), esegui il seguente comando nel tuo terminale:

sudo cat /etc/gitlab/initial_root_password

L'esecuzione di questo comando visualizzerà la password di root nel terminale. È fondamentale mantenere questa password sicura e non condividerla con utenti non autorizzati.

Se è necessario reimpostare la password di root, è possibile utilizzare il seguente comando:

sudo gitlab-rake "gitlab:password:reset[root]"

Dopo aver eseguito questo comando, la password di root verrà reimpostata su una stringa casuale visualizzata nell'output del terminale. È essenziale ricordare che il ripristino della password di root invaliderà tutti i token di accesso esistenti e personali, quindi gli utenti dovranno crearne di nuovi dopo aver reimpostato la password.

Per motivi di sicurezza, si consiglia di modificare la password di root con una complessa e univoca il prima possibile dopo la configurazione iniziale ed evitare di utilizzare la password predefinita. Puoi modificare la password di root accedendo all'interfaccia web di GitLab, andando su "Impostazioni utente"> "Account" e selezionando l'opzione "Cambia password".

Accedi all'interfaccia utente di GitLab

Una volta completata la configurazione del backend, è ora di accedere e accedere a GitLab. Per ottenere ciò, aprire il percorso del dominio assegnato a GitLab nel file di configurazione.

https://gitlab.example.com

Successivamente, accedi a GitLab utilizzando il nome utente “root” e la password che hai ricevuto durante l'installazione. Come menzionato nella stampa della password della sezione precedente, la password della guida era "4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=" nell'immagine.

Hai effettuato l'accesso con successo come account root e arriverai alla pagina di destinazione predefinita.

Ulteriori suggerimenti

Di seguito sono riportati alcuni consigli per la protezione, la personalizzazione o qualsiasi altro suggerimento generale per la prima volta quando accedi per la prima volta all'interfaccia utente di GitLab:

  • Modifica la password predefinita: Per migliorare la sicurezza della tua istanza GitLab, è fondamentale modificare la password predefinita dell'utente root. Accedi a GitLab utilizzando il nome utente e la password predefiniti, vai su "Impostazioni utente"> "Password" e inserisci la nuova password.
  • Configura l'autenticazione a due fattori (2FA): L'aggiunta di un fattore di autenticazione, come un codice inviato al tuo telefono o generato da un'app, al processo di accesso è un ulteriore livello di sicurezza fornito da 2FA. Per abilitare 2FA in GitLab, vai su “Impostazioni utente”> “Account”> “Autenticazione a due fattori” e segui le istruzioni.
  • Crea un progetto: Per creare un nuovo progetto in GitLab, vai alla pagina “Progetti” e fai clic sul pulsante “Nuovo progetto”. Puoi creare un progetto vuoto o importare un progetto esistente da un repository Git.
  • Personalizza l'interfaccia utente: GitLab consente diverse opzioni di personalizzazione, come cambiare il tema, aggiungere un logo personalizzato e configurare la barra di navigazione. Passare a “Area amministrazione”> “Impostazioni” e selezionare le opzioni appropriate per personalizzare l'interfaccia utente.
  • Configura il controllo degli accessi: Le potenti funzionalità di controllo degli accessi di GitLab ti consentono di controllare chi può accedere ai tuoi progetti e cosa può fare. Passare a "Impostazioni progetto"> "Membri" e aggiungere o rimuovere membri con diversi livelli di accesso per configurare il controllo degli accessi.
  • Utilizza GitLab CI/CD: Le potenti funzionalità CI/CD di GitLab automatizzano il test e la distribuzione del tuo codice. Configura le pipeline CI/CD creando un file ".gitlab-ci.yml" nella directory root del tuo progetto e definendo le fasi e i processi per la tua pipeline.
  • Configura GitLab Runner: GitLab Runner è un agente leggero che esegue lavori CI/CD e invia i risultati a GitLab. Segui le istruzioni nella documentazione di GitLab per installare e configurare GitLab Runner sul tuo sistema Debian.
  • Esegui il backup della tua istanza GitLab: Esegui regolarmente il backup della tua istanza GitLab per prevenire la perdita di dati in caso di guasti hardware o altri disastri. Esegui il comando "gitlab-rake gitlab:backup:create" nel tuo terminale per eseguire il backup della tua istanza GitLab.

Crea Cronjob per GitLab Auto Backup

Configurare un cronjob per il backup automatico di GitLab su Debian è fondamentale per garantire la sicurezza e la protezione dei tuoi dati. Un cronjob è un'attività pianificata che viene eseguita automaticamente a intervalli specifici per eseguire un backup della tua istanza GitLab. Segui questi passaggi per creare un cronjob per il backup automatico di GitLab su Debian.

Crea uno script di backup Gitlab

Il primo passo è creare uno script di backup per eseguire il backup della tua istanza GitLab. Segui questi passi:

Utilizzando un editor di testo, crea un nuovo file per lo script di backup. Ecco un esempio:

sudo nano /usr/local/bin/gitlab-backup.sh

Incolla il seguente codice nel file:

#!/bin/bash

BACKUP_DIR=/var/opt/gitlab/backups
TIMESTAMP=$(date +%s)

sudo gitlab-rake gitlab:backup:create

sudo cp ${BACKUP_DIR}/$(ls -t ${BACKUP_DIR} | head -1) ${BACKUP_DIR}/gitlab_backup_${TIMESTAMP}.tar
  • Salvare il file e uscire dall'editor di testo.

Questo script genererà un backup della tua istanza GitLab eseguendo il comando gitlab-rake gitlab:backup:create. Dopo aver creato il backup, duplicherà l'ultimo backup in un nuovo file con un timestamp nel nome del file.

Impostazione di autorizzazioni e proprietà

Il passaggio successivo consiste nello stabilire le autorizzazioni e la proprietà appropriate per lo script di backup per garantire che il cronjob possa eseguirlo. Segui questi passi:

Imposta il proprietario dello script di backup sull'utente associato a GitLab:

sudo chown git:git /usr/local/bin/gitlab-backup.sh

Imposta le autorizzazioni dello script di backup per abilitare l'esecuzione:

sudo chmod +x /usr/local/bin/gitlab-backup.sh

Creazione di un cronjob

Il passo successivo è creare un cronjob per pianificare l'esecuzione regolare dello script di backup. Segui questi passaggi:

Per aprire il file di configurazione crontab per l'utente GitLab, attenersi alla seguente procedura:

sudo crontab -u git -e

Per pianificare l'esecuzione dello script di backup ogni giorno all'1:00, aggiungi la seguente riga al file di configurazione crontab per l'utente GitLab:

0 1 * * * /path/to/backup/script.sh

Salvare il file e uscire dall'editor di testo.

Questo cronjob eseguirà automaticamente lo script di backup ogni giorno all'1:00, risultando in un nuovo file di backup con un timestamp nel nome del file.

Testare il Cronjob

Puoi verificare che il cronjob funzioni correttamente eseguendo manualmente lo script di backup e assicurandoti che il file di backup venga generato senza errori. Per eseguire questo test, inserisci il seguente comando nel tuo terminale:

sudo /usr/local/bin/gitlab-backup.sh

Questo comando genererà un nuovo file di backup nella directory”/var/opt/gitlab/backups”. Il nome del file includerà un timestamp per indicare quando è stato creato il backup.

Comandi del terminale GitLab

GitLab-ctl è uno strumento da riga di comando per la gestione di GitLab su Debian. Fornisce una serie di comandi terminale per avviare, arrestare, riavviare e gestire i servizi GitLab, tra le altre cose. Ecco una sezione dettagliata sui comandi del terminale GitLab-ctl, insieme a comandi di esempio e output con spiegazioni.

Avvio e arresto dei servizi GitLab

Per avviare e arrestare i servizi GitLab, utilizzare i seguenti comandi:

Avvia tutti i servizi GitLab:

sudo gitlab-ctl start

Arresta tutti i servizi GitLab:

sudo gitlab-ctl stop

Riavvia tutti i servizi GitLab:

sudo gitlab-ctl restart

Ricarica i servizi GitLab:

sudo gitlab-ctl reload

Questi comandi avvieranno, interromperanno, riavvieranno o ricaricheranno tutti i servizi GitLab. L'output indicherà quali servizi vengono avviati o arrestati e se l'operazione ha avuto esito positivo.

Verifica dello stato dei servizi GitLab

Per verificare lo stato dei servizi GitLab, utilizzare il seguente comando:

sudo gitlab-ctl status

Questi comandi avvieranno, interromperanno, riavvieranno o ricaricheranno tutti i servizi GitLab. Dopo aver eseguito il comando, l'output mostrerà quali servizi sono interessati e se l'operazione è riuscita.

Backup e ripristino dei dati GitLab

Puoi creare un backup dei dati GitLab utilizzando il seguente comando:

Crea un backup dei dati GitLab:

sudo gitlab-rake gitlab:backup:create

Il comando fornito creerà un file di backup che contiene tutti i dati GitLab, come repository, dati utente e file di configurazione. Il file di backup verrà archiviato nella directory: “/var/opt/gitlab/backups”.

Ripristina un backup dei dati GitLab:

sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>

Utilizzando questo comando, puoi ripristinare un backup dei dati GitLab da un file di backup specifico. Il file di backup deve trovarsi nella directory “var/opt/gitlab/backups” oppure è possibile indicare il percorso completo del file di backup.

Controllo della configurazione di GitLab

Puoi utilizzare il seguente comando per verificare la configurazione di GitLab:

sudo gitlab-rake gitlab:check

Questo comando può cercare errori o avvisi nella configurazione di GitLab, incluse versioni obsolete, dipendenze mancanti e impostazioni non configurate correttamente. L'output riepilogherà i risultati della scansione e informazioni dettagliate su eventuali problemi rilevati.

Controllo dei log di GitLab

Ecco come controllare i log di GitLab utilizzando i seguenti comandi:

Visualizza i log di GitLab:

sudo gitlab-ctl tail gitlab-rails/production.log

Puoi utilizzare il comando seguente per visualizzare le ultime dieci righe del log di produzione GitLab, che descrive in dettaglio le azioni, gli avvisi e gli errori dell'utente.

Visualizza i log di GitLab NGINX:

sudo gitlab-ctl tail nginx/gitlab_access.log

Questo comando mostrerà le ultime dieci righe del registro di accesso GitLab NGINX che contiene dettagli relativi alle richieste e alle risposte HTTP.

Visualizza i log di GitLab PostgreSQL:

sudo gitlab-ctl tail postgresql/current

Questo comando visualizzerà le ultime dieci righe del registro GitLab PostgreSQL, che contiene informazioni sulle query e sulle transazioni del database.

Conclusione

Con GitLab CE installato con successo sul tuo sistema Debian utilizzando lo script di installazione ufficiale, puoi sfruttare appieno le sue potenti funzionalità DevOps. Questo metodo garantisce di disporre della versione più recente e di un facile accesso agli aggiornamenti. Mantieni e aggiorna regolarmente la tua istanza GitLab per beneficiare delle funzionalità più recenti e dei miglioramenti della sicurezza. Goditi la perfetta integrazione e gli strumenti collaborativi offerti da GitLab CE per i tuoi progetti di sviluppo.

Joshua James
Seguimi
Ultimi post di Joshua James (vedi tutto)

Lascia un commento