GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak nainstalovat GitLab s Dockerem na Ubuntu 20.04 LTS

GitLab je open-source správce úložiště založený na Rails vyvinutý společností GitLab Inc. Je to webový správce úložiště git, který umožňuje vašemu týmu spolupracovat na kódování, testování a nasazování aplikací. GitLab poskytuje několik funkcí, včetně wiki, sledování problémů, recenzí kódu a zdrojů aktivit.

V tomto tutoriálu vám ukážeme, jak nainstalovat GitLab pomocí Docker a Docker Compose. Také budeme používat Ubuntu 20.04 jako náš primární operační systém a nainstalujeme docker z oficiálního úložiště Ubuntu FocalFossa.

Předpoklady

  • Ubuntu Server 20.04
  • Minimálně 4 GB paměti RAM
  • Oprávnění uživatele root

Co budeme dělat?

  • Nainstalujte Docker a Docker Compose
  • Nastavení projektu GitLab Docker
  • Vytvoření kontejneru GitLab
  • Příspěvková instalace GitLab

Krok 1 – Instalace Docker a Docker Compose

Nejprve nainstalujeme balíčky docker a docker-compose do našeho systému Ubuntu 20.04. A budeme používat docker balíčky poskytované oficiálním úložištěm Ubuntu FocalFossa.

Aktualizujte všechna úložiště na nejnovější verzi a nainstalujte docker a docker-compose pomocí příkazu apt níže.

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

Po dokončení instalace spusťte službu docker a přidejte ji do spouštění systému.

systemctl start docker
systemctl enable docker

Dále zkontrolujte službu docker pomocí příkazu systemctl níže.

systemctl status docker

V důsledku toho je služba dockeru spuštěna na serveru Ubuntu 20.04.

Chcete-li ověřit instalaci dockeru, spusťte níže uvedený příkaz docker „hello-world“.

docker run hello-world

Nyní dostanete zprávu „hello-world“ z dockeru, jak je uvedeno níže.

Nyní jsme připraveni nainstalovat GitLab pomocí kontejneru docker a docker-compose.

Krok 2 – Nastavení adresáře GitLab

V tomto kroku nastavíme náš projektový adresář pro instalaci GitLab.

Vytvořte nový adresář s názvem 'gitlab' a přejděte do něj.

mkdir -p gitlab; cd gitlab/

Adresář "gitlab" bude použit k uložení všech skriptů dockeru a konfigurace pro GitLab.

Vytvoření datového adresáře GitLab a souboru .env

V této sekci vytvoříme nový adresář pro ukládání všech našich dat GitLab a vytvoříme nový soubor „.env“, který bude používat docker.

Vytvořte nový datový adresář GitLab "/srv/gitlab" pomocí příkazu mkdir níže.

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

Dále v adresáři projektu "gitlab" vytvořte nový soubor ".env" pomocí editoru vim.

vim .env

Definujte proměnnou prostředí "GITLAB_HOME" s hodnotou jako datový adresář GitLab "/srv/gitlab", jak je uvedeno níže.

GITLAB_HOME=/srv/gitlab

Uložit a zavřít.

Skript docker-compose.yml bude používat proměnnou prostředí pro svazky Gitlabu.

Vytvořit skript docker-compose.yml

Dále vytvoříme nový „docker-compose.yml“, který bude použit k vytvoření našeho kontejneru GitLab.

Vytvořte nový soubor 'docker-compose.yml' pomocí příkazu vim níže.

vim docker-compose.yml

Definujte službu s názvem „web“ pomocí obrázku nejnovější verze „gitlab-ce“ a změňte „hostname“ pomocí názvu vaší domény GitLab.

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

Nakonfigurujte prostředí pro vaši instalaci Gitlabu, jak je uvedeno níže. A nezapomeňte změnit "external_url" pomocí zabezpečeného protokolu HTTPS a změnit "gitlab_rails['gitlab_shell_ssh_port']" s vaším alternativním portem SSH pro kontejner.

  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"

Dále definujte porty pro kontejner GitLab, jak je uvedeno níže. A ujistěte se, že jste změnili port SSH "2224" svým vlastním portem a shodovali se s portem "gitlab_shell_ssh_port" nahoře.

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

Poté definujte svazek nebo své datové adresáře GitLab. Všechny datové adresáře GitLab jsou dostupné v adresáři "GITLAB_HOME", který je nastaven jako proměnná prostředí v souboru ".env" nahoře.

  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'

Uložit a zavřít.

Níže je kompletní konfigurace.

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'

V důsledku toho byl vytvořen skript „docker-compose.yml“ pro instalaci projektu GitLab.

Generovat certifikáty SSL a DHAPARAM

V této fázi vygenerujeme SSL Letsencrypt pro naši instalaci GitLab.

Na svůj server nainstalujte nástroj certbot pomocí příkazu apt níže.

sudo apt install certbot

Poté vygenerujte certifikát SSL pro GitLab pomocí příkazu certbot níže.

certbot certonly --rsa-key-size 2048 --standalone --agree-tos --no-eff-email --email [email protected] -d gitlab.hakase-labs.io

Jakmile bude vše hotovo, vaše certifikáty budou dostupné v adresáři '/etc/letsencrypt/live/gitlab.yourdomain'.

Nyní zkopírujte soubor certifikátu "fullchain.pem" a "privkey.pem" do adresáře "/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/

A SSL Letsencrypt pro GitLab je připraven.

Dále vygenerujte certifikát DHPARAM "dhparam.pem" pomocí příkazu openssl níže.

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

A všechny certifikáty pro instalaci GitLab byly vygenerovány a jsme připraveni vytvořit kontejner GitLab.

Krok 3 – Sestavení kontejneru GitLab

V tomto kroku vytvoříme náš kontejner GitLab pomocí veškeré konfigurace, kterou jsme vytvořili nahoře, a pomocí příkazu docker-compose.

Než budete pokračovat, můžete zkontrolovat všechny dostupné soubory v adresáři projektu "gitlab" a adresářové struktuře adresáře GitLab Data.

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

Níže je výsledek, který dostanete.

Dále přejděte do adresáře projektu "~/gitlab" a vytvořte kontejner GitLab pomocí příkazu "docker-compose" níže.

cd ~/gitlab
docker-compose up -d

Jakmile je vše dokončeno, dostanete výsledek, jak je uvedeno níže.

Nyní zkontrolujte běžící kontejner a porty "LISTEN" na vašem systému Ubuntu pomocí následujícího příkazu.

docker-compose ps
ss -plnt

A získáte kontejner „gitlab_web_1 " je v provozu a máte port HTTP, HTTPS a SSH "2224", který používá kontejner GitLab.

Jak je vidět, kontejner GitLab je spuštěn a my jsme připraveni nastavit naši instalaci GitLab.

Krok 4 – Po instalaci GitLab

Otevřete webový prohlížeč a do adresního řádku zadejte adresu URL instalace GitLab.

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

A získáte stránku pro obnovení hesla GitLab.

Zadejte své nové heslo pro výchozího uživatele „root“ a klikněte na tlačítko „Změnit heslo“.

Nyní získáte přihlašovací stránku GitLab, jak je uvedeno níže.

Přihlaste se pomocí výchozího uživatele „root “ a své nové heslo a poté klikněte na „Přihlásit se“.

A získáte GitLab Dashboard, jak je uvedeno níže.

Jak je vidět, instalace GitLabu pomocí dockeru a docker-compose byla dokončena.

Krok 5 – Základní konfigurace kontejneru GitLab

Po instalaci GitLab můžete do kontejneru GitLab přidat nějakou další konfiguraci, aniž byste kontejner GitLab zničili. V tomto kroku vám ukážeme základní způsob správy kontejneru GitLab.

Než budete pokračovat, přejděte do adresáře projektu "~/gitlab" a zkontrolujte stav kontejneru pomocí následujícího příkazu.

cd ~/gitlab
docker-compose ps

Získáte, že kontejner GitLab je v provozu.

Zkontrolujte stav služby GitLab uvnitř kontejneru

Chcete-li zkontrolovat všechny služby GitLab v kontejneru Gitlab, použijte příkaz "docker exec", jak je uvedeno níže.

sudo docker exec -it gitlab_web_1 gitlab-ctl status

Níže je výsledek, který dostanete.

Jak je vidět, všechny součásti služby GitLab jsou v provozu.

Přístup ke kontejneru GitLab

Chcete-li SSH do kontejneru GitLab, použijte "docker exec" s "bash" shell uvnitř kontejneru, jak je uvedeno níže.

sudo docker exec -it gitlab_web_1 /bin/bash

Nyní zkontrolujte výchozí verzi Ubuntu kontejneru GitLab.

cat /etc/lsb-release

Získáte kontejner GitLab založený na Ubuntu 16.04 Xenial.

Nyní zadejte „exit " k odhlášení z kontejneru GitLab.

Upravit konfiguraci GitLab gitlab.rb

Dále, chcete-li změnit konfiguraci GitLab uvnitř kontejneru, můžete použít výchozí „editor“ na samotném kontejneru dockeru.

Upravte konfiguraci "/etc/gitlab/gitlab.rb" uvnitř kontejneru pomocí příkazu docker níže.

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

Nyní se na obrazovce zobrazí výchozí editor „nano“ s konfiguračním souborem „gitlab.rb“.

Zadejte konfiguraci, uložte a ukončete.

Dále, chcete-li použít nové změny na GitLab, restartujte kontejnerovou službu Gitlab pomocí příkazu níže.

sudo docker restart gitlab_web_1

Nyní se ujistěte, že nedošlo k chybě, zkontrolujte stav kontejneru GitLab pomocí následujícího příkazu.

sudo docker-compose ps

Nyní se ujistěte, že kontejner GitLab je v poloze „Nahoru (zdravé) " stav.

V důsledku toho byla použita nová konfigurace pro GitLab.

A nakonec byla úspěšně dokončena instalace GitLab pomocí dockeru a docker-compose.


Ubuntu
  1. Jak nainstalovat Docker na Ubuntu 22.04

  2. Jak nainstalovat Docker na Ubuntu 22.04 / 20.04 LTS

  3. Jak nainstalovat Docker na Ubuntu 18.04 / Ubuntu 18.10 / Ubuntu 19.04

  1. Jak nainstalovat ONLYOFFICE 8.9.0 s Dockerem na Ubuntu

  2. Jak nainstalovat Gitlab Server s Dockerem na Ubuntu 18.04 LTS

  3. Jak nainstalovat Docker na serveru Ubuntu 18.04 LTS

  1. Jak nainstalovat GitLab v Ubuntu 20.04

  2. Jak nainstalovat Sentry s Dockerem na Ubuntu 20.04

  3. Jak nainstalovat Docker na Ubuntu 20.04, 18.04, 21.04