GNU/Linux >> Linux Esercitazione >  >> Ubuntu

Come installare GitLab con Docker su Ubuntu 20.04 LTS

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à.

In questo tutorial, ti mostreremo come installare GitLab usando Docker e Docker Compose. Inoltre, utilizzeremo Ubuntu 20.04 come sistema operativo principale e installeremo la finestra mobile dal repository ufficiale di Ubuntu FocalFossa.

Prerequisiti

  • Ubuntu Server 20.04
  • Minimo 4 GB di RAM
  • Privilegi di root

Cosa faremo?

  • Installa Docker e Docker Compose
  • Imposta il progetto GitLab Docker
  • Costruisci un contenitore GitLab
  • Installazione Post GitLab

Passaggio 1:installazione di Docker e Docker Compose

Innanzitutto, installeremo i pacchetti docker e docker-compose sul nostro sistema Ubuntu 20.04. E utilizzeremo i pacchetti docker forniti dal repository ufficiale di Ubuntu FocalFossa.

Aggiorna tutti i repository all'ultima versione e installa docker e docker-compose utilizzando il comando apt di seguito.

sudo apt update
sudo apt install docker.io containerd docker-compose

Una volta completata l'installazione, avvia il servizio Docker e aggiungilo all'avvio del sistema.

systemctl start docker
systemctl enable docker

Quindi, controlla il servizio Docker usando il comando systemctl di seguito.

systemctl status docker

Di conseguenza, il servizio Docker è attivo e funzionante su Ubuntu 20.04 Server.

Per verificare l'installazione della finestra mobile, esegui il comando "hello-world" della finestra mobile di seguito.

docker run hello-world

Ora riceverai il messaggio "hello-world" dalla finestra mobile come di seguito.

Ora siamo pronti per installare GitLab usando il contenitore docker e docker-compose.

Passaggio 2 - Configurazione della directory GitLab

In questo passaggio, imposteremo la nostra directory di progetto per l'installazione di GitLab.

Crea una nuova directory chiamata 'gitlab' ed entra in essa.

mkdir -p gitlab; cd gitlab/

La directory "gitlab" verrà utilizzata per memorizzare tutti gli script della finestra mobile e la configurazione per GitLab.

Crea una directory di dati GitLab e un file .env

In questa sezione creeremo una nuova directory per archiviare tutti i nostri dati GitLab e creeremo un nuovo file ".env" che verrà utilizzato dalla finestra mobile.

Crea una nuova directory di dati GitLab "/srv/gitlab" usando il comando mkdir di seguito.

mkdir -p /srv/gitlab/{config/ssl,logs,data}

Quindi, nella directory del progetto "gitlab", crea un nuovo file ".env" usando l'editor vim.

vim .env

Definisci la variabile d'ambiente "GITLAB_HOME" con il valore come directory dei dati GitLab "/srv/gitlab" come di seguito.

GITLAB_HOME=/srv/gitlab

Salva e chiudi.

Lo script docker-compose.yml utilizzerà la variabile di ambiente per i volumi Gitlab.

Crea script docker-compose.yml

Successivamente, creeremo un nuovo "docker-compose.yml" che verrà utilizzato per creare il nostro contenitore GitLab.

Crea il nuovo file 'docker-compose.yml' usando il comando vim qui sotto.

vim docker-compose.yml

Definisci il servizio denominato "web" con l'immagine dell'ultima versione "gitlab-ce" e cambia "hostname" con il tuo nome di dominio GitLab.

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.hakase-labs.io'

Configura l'ambiente per la tua installazione di Gitlab come di seguito. E assicurati di cambiare "url_esterno" con il protocollo sicuro HTTPS e cambia "gitlab_rails['gitlab_shell_ssh_port']" con la tua porta SSH alternativa per il contenitore.

  environment:
    GITLAB_OMNIBUS_CONFIG: |
      # Add any other gitlab.rb configuration here, each on its own line
      external_url 'https://gitlab.hakase-labs.io'
      gitlab_rails['gitlab_shell_ssh_port'] = 2224
      nginx['redirect_http_to_https'] = true
      nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
      nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
      nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"

Quindi, definisci le porte per il contenitore GitLab come di seguito. E assicurati di cambiare la porta SSH "2224" con la tua porta personalizzata e abbinarla con la porta "gitlab_shell_ssh_port" in alto.

  ports:
    - '80:80'
    - '443:443'
    - '2224:22'

Successivamente, definisci il volume o le tue directory di dati GitLab. Tutte le directory di dati di GitLab sono disponibili nella directory "GITLAB_HOME", in cui è impostata la variabile di ambiente nel file ".env" in alto.

  volumes:
    - '${GITLAB_HOME}/config:/etc/gitlab'
    - '${GITLAB_HOME}/logs:/var/log/gitlab'
    - '${GITLAB_HOME}/data:/var/opt/gitlab'
    - '${GITLAB_HOME}/config/ssl:/etc/gitlab/ssl'

Salva e chiudi.

Di seguito è riportata la configurazione completa.

web:
  image: 'gitlab/gitlab-ce:latest'
  restart: always
  hostname: 'gitlab.hakase-labs.io'

  environment:
    GITLAB_OMNIBUS_CONFIG: |
      # Add any other gitlab.rb configuration here, each on its own line
      external_url 'https://gitlab.hakase-labs.io'
      gitlab_rails['gitlab_shell_ssh_port'] = 2224
      nginx['redirect_http_to_https'] = true
      nginx['ssl_certificate'] = "/etc/gitlab/ssl/fullchain.pem"
      nginx['ssl_certificate_key'] = "/etc/gitlab/ssl/privkey.pem"
      nginx['ssl_dhparam'] = "/etc/gitlab/ssl/dhparams.pem"  

  ports:
    - '80:80'
    - '443:443'
    - '2224:22'

  volumes:
    - '${GITLAB_HOME}/config:/etc/gitlab'
    - '${GITLAB_HOME}/logs:/var/log/gitlab'
    - '${GITLAB_HOME}/data:/var/opt/gitlab'
    - '${GITLAB_HOME}/config/ssl:/etc/gitlab/ssl'

Di conseguenza, è stato creato lo script "docker-compose.yml" per l'installazione del progetto GitLab.

Genera certificati SSL e DHAPARAM

In questa fase, genereremo SSL Letsencrypt per la nostra installazione di GitLab.

Sul tuo server, installa lo strumento certbot usando il comando apt di seguito.

sudo apt install certbot

Successivamente, genera il certificato SSL 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

Una volta completato tutto, i tuoi certificati saranno disponibili nella directory '/etc/letsencrypt/live/gitlab.yourdomain'.

Ora copia il file del certificato "fullchain.pem" e "privkey.pem" nella directory "/srv/gitlab/config/ssl/".

cp /etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem /srv/gitlab/config/ssl/
cp /etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem /srv/gitlab/config/ssl/

E SSL Letsencrypt per GitLab è pronto.

Quindi, genera il certificato DHPARAM "dhparam.pem" utilizzando il comando openssl di seguito.

sudo openssl dhparam -out /srv/gitlab/config/ssl/dhparams.pem 2048

E tutti i certificati per l'installazione di GitLab sono stati generati e siamo pronti per creare il container GitLab.

Passaggio 3:crea il contenitore GitLab

In questo passaggio, creeremo il nostro contenitore GitLab utilizzando tutta la configurazione che abbiamo creato in cima e utilizzando il comando docker-compose.

Prima di andare oltre, puoi controllare tutti i file disponibili nella directory del progetto "gitlab" e la struttura della directory della directory GitLab Data.

ls -lah ~/gitlab/
tree /srv/gitlab

Di seguito è riportato il risultato che otterrai.

Quindi, vai alla directory del progetto "~/gitlab" e crea il contenitore GitLab usando il comando "docker-compose" di seguito.

cd ~/gitlab
docker-compose up -d

Una volta completato tutto, otterrai il risultato come di seguito.

Ora controlla il contenitore in esecuzione e le porte "LISTEN" sul tuo sistema Ubuntu usando il seguente comando.

docker-compose ps
ss -plnt

E otterrai il contenitore "gitlab_web_1 " è attivo e funzionante e hai la porta HTTP, HTTPS e SSH "2224" utilizzata dal contenitore GitLab.

Come si può vedere, il contenitore GitLab è attivo e funzionante e siamo pronti per configurare la nostra installazione di GitLab.

Fase 4 - Installazione GitLab Post

Apri il tuo browser web e digita l'URL di installazione di GitLab sulla barra degli indirizzi.

https://gitlab.hakase-labs.io/

E otterrai la pagina di reimpostazione della password di GitLab.

Digita la tua nuova password per l'utente predefinito "root" e fai clic sul pulsante "Cambia la tua password".

Ora otterrai la pagina di accesso di GitLab come di seguito.

Accedi con l'utente predefinito "root " e la tua nuova password, quindi fai clic su "Accedi".

E otterrai la dashboard GitLab come di seguito.

Come si può vedere, l'installazione di GitLab tramite docker e docker-compose è stata completata.

Passaggio 5 - Configurazione di base del contenitore GitLab

Dopo l'installazione di GitLab, puoi aggiungere alcune configurazioni aggiuntive al contenitore GitLab senza distruggere il contenitore GitLab. Per questo passaggio, ti mostreremo il modo di base per gestire il contenitore GitLab.

Prima di andare oltre, vai alla directory del progetto "~/gitlab" e controlla lo stato del contenitore usando il seguente comando.

cd ~/gitlab
docker-compose ps

Otterrai che il contenitore GitLab sia attivo e funzionante.

Controlla lo stato del servizio GitLab all'interno del container

Per controllare tutti i servizi GitLab all'interno del contenitore Gitlab, usa il comando "docker exec" come di seguito.

sudo docker exec -it gitlab_web_1 gitlab-ctl status

Di seguito è riportato il risultato che otterrai.

Come si può vedere, tutti i componenti del servizio GitLab sono attivi e funzionanti.

Accedi al contenitore GitLab

Per inviare tramite SSH al contenitore GitLab, usi "docker exec" con la shell "bash" all'interno del contenitore come di seguito.

sudo docker exec -it gitlab_web_1 /bin/bash

Ora controlla la versione predefinita di Ubuntu del contenitore GitLab.

cat /etc/lsb-release

Otterrai il contenitore GitLab basato su Ubuntu 16.04 Xenial.

Ora digita "exit " per disconnettersi dal contenitore GitLab.

Modifica la configurazione di GitLab gitlab.rb

Successivamente, per modificare la configurazione di GitLab all'interno del container, puoi utilizzare l'"editor" predefinito sul container docker stesso.

Modifica la configurazione "/etc/gitlab/gitlab.rb" all'interno del contenitore utilizzando il comando docker riportato di seguito.

sudo docker exec -it gitlab_web_1 editor /etc/gitlab/gitlab.rb

Ora sullo schermo apparirà l'editor "nano" predefinito, con il file di configurazione "gitlab.rb".

Digita la tua configurazione, salva ed esci.

Quindi, per applicare le nuove modifiche a GitLab, riavvia il servizio contenitore Gitlab utilizzando il comando seguente.

sudo docker restart gitlab_web_1

Ora assicurati che non ci siano errori, controlla lo stato del contenitore GitLab usando il seguente comando.

sudo docker-compose ps

Ora assicurati che il contenitore GitLab sia su "Up (sano) " stato.

Di conseguenza, è stata applicata la nuova configurazione per GitLab.

E infine, l'installazione di GitLab utilizzando la finestra mobile e la composizione mobile è stata completata con successo.


Ubuntu
  1. Come installare Docker su Ubuntu 22.04

  2. Come installare Docker su Ubuntu 22.04 / 20.04 LTS

  3. Come installare ONLYOFFICE 8.9.0 con Docker su Ubuntu

  4. Come installare Gitlab Server con Docker su Ubuntu 18.04 LTS

  5. Come installare Docker su Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

Come installare WordPress con Docker su Ubuntu 16.04 LTS

Come installare Rancher su Ubuntu 16.04 LTS

Come installare Docker su Ubuntu 18.04 LTS

Come installare Gitlab su Ubuntu 18.04 LTS

Come installare Docker su Ubuntu 20.04 LTS

Come installare Kitematic su Ubuntu 20.04 LTS