Ako nainštalovať GitLab CE pomocou Docker na Debian 12


Na tejto stránke

  1. Predpoklady
  2. Krok 1 - Inštalácia závislostí
  3. Krok 2 - Zmeňte port SSH systému
  4. Krok 3 - Nainštalujte Docker a Docker Compose
  5. Krok 4 - Nastavte zväzky Docker
  6. Krok 5 – Nainštalujte Gitlab pomocou Docker Compose
  7. Krok 6 – Nakonfigurujte Gitlab

    1. Prístup k Gitlabu
    2. Obmedziť verejné registrácie
    3. Nakonfigurujte profil Gitlab
    4. Zmeniť heslo root
    5. Zmeniť meno používateľa
    6. Zakázať metriky Prometheus a zlepšiť súkromie
  8. Krok 7 – Vytvorenie prvého projektu

    1. Pridanie kľúča SSH
    2. Vytvorenie projektu
  9. Krok 8 – Správa kontajnera Gitlab
  10. Krok 9 - Zálohujte Gitlab
  11. Krok 10 - Obnovte Gitlab
  12. Krok 11 - Aktualizujte Gitlab
  13. Záver

Gitlab Server je open-source verzia kontroly verzií Gitlab hosťovanej v cloude. Výhodou vlastného hosťovania vašich úložísk oproti cloudovému hostingu je, že získate úplnú kontrolu nad svojím kódom.

Táto príručka vám ukáže, ako nainštalovať Gitlab Server pomocou Docker na Debian 12. Server Gitlab ponúka dve edície – bezplatnú komunitnú edíciu a platenú Enterprise edíciu. Budeme inštalovať komunitnú edíciu. Ak chcete viac funkcií, môžete ho jednoducho upgradovať na edíciu Enterprise.

Túto príručku pôvodne napísal Navjot Singh pre Ubuntu 22.04 a bola upravená a aktualizovaná pre Debian 12.

Predpoklady

    Server so systémom Debian 12

    Plne kvalifikovaný názov domény (FQDN) smerujúci na server, napríklad gitlab.example.com.

  • Ste prihlásený ako užívateľ root.
  • Všetko je aktualizované.
apt update && apt upgrade

Krok 1 - Inštalácia závislostí

Pred inštaláciou Gitlabu musíme nainštalovať určité balíčky požadované počas nášho tutoriálu.

apt install ca-certificates curl openssh-server apt-transport-https gnupg lsb-release -y

Niektoré z týchto balíkov môžu byť predinštalované vo vašom systéme.

Krok 2 - Zmeňte port SSH systému

Gitlab používa predvolený port SSH, ktorý bude v konflikte s portom SSH systému. Pre dosiahnutie najlepších výsledkov je lepšie zmeniť predvolený port systému.

Ak to chcete urobiť, otvorte súbor /etc/ssh/sshd_config na úpravu.

nano /etc/ssh/sshd_config

Nájdite nasledujúci riadok, odstráňte pred ním znak hash (#) a zmeňte hodnotu z 22 na čokoľvek iné podľa vášho výberu. Pre náš tutoriál sme vybrali 2425 zmenou

#Port 22

do

 Port 2222

Uložte súbor stlačením Ctrl + X a po zobrazení výzvy zadajte Y.

Reštartujte službu SSH.

systemctl restart sshd

Zatvorte aktuálnu reláciu SSH a znova sa prihláste pomocou nového portu.

ssh username@<serverIP> -p 2222

Krok 3 - Nainštalujte Docker a Docker Compose

Pridajte oficiálny kľúč GPG spoločnosti Docker.

curl -fsSL https://download.docker.com/linux/debian/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker.gpg

Spustite nasledujúci príkaz a pridajte úložisko Docker.

echo \
  "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/docker.gpg] https://download.docker.com/linux/debian \
  $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

Aktualizujte systém tak, aby obsahoval úložisko Docker.

apt update

Nainštalujte Docker.

apt-get install docker-ce docker-ce-cli containerd.io docker-compose-plugin

Tento tutoriál bude používať doplnok Docker Compose v2 namiesto staršieho staršieho binárneho programu. Preto sa príkaz na jeho spustenie zmenil z docker-compose na docker compose a to sa tu prejavuje.

Docker beží so zvýšenými oprávneniami, takže na spúšťanie príkazov budete musieť často používať sudo. Pridanie používateľského účtu systému Linux do skupiny používateľov je lepšie.

usermod -aG docker ${USER}

Premenná $ {USER} vyberie aktuálne prihlásený systémový účet. Ak nie ste prihlásený ako používateľ, ktorému chcete udeliť oprávnenia, nahraďte $ {USER} používateľským menom.

Ak chcete požiadať o nové členstvo v skupine, odhláste sa zo servera a znova sa prihláste alebo použite nasledujúci príkaz. Budete vyzvaní na zadanie hesla používateľa.

su - $(USER)

Krok 4 - Nastavte zväzky Docker

Pred inštaláciou musíme nastaviť umiestnenie údajov a konfigurácie Gitlabu, ku ktorým sa má pristupovať cez zväzky Docker.

Vytvorte adresár zväzku Docker.

mkdir -p /opt/gitlab/vol

Prepnite sa do adresára /opt/gitlab.

cd /opt/gitlab 

Vytvorte súbor premenných prostredia a otvorte ho na úpravu.

nano .env

Prilepením nasledujúceho kódu definujte premennú $GITLAB_HOME.

GITLAB_HOME=/opt/gitlab/vol

Kontajner Gitlab používa zväzky pripojené k hostiteľovi na ukladanie trvalých údajov. Nasledujúca tabuľka zobrazuje mapovanie lokálneho umiestnenia adresárov Gitlab na umiestnenie kontajnerov a ich príslušné použitie.

Local Location Container Location Usage
$GITLAB_HOME/data /var/opt/gitlab For storing application data.
$GITLAB_HOME/logs /var/log/gitlab For storing logs.
$GITLAB_HOME/config /etc/gitlab For storing Gitlab configuration.

Krok 5 – Nainštalujte Gitlab pomocou Docker Compose

Uistite sa, že ste v adresári Docker Compose Gitlabu.

Vytvorte a otvorte konfiguračný súbor Docker Compose na úpravu.

nano docker-compose.yml

Vložte do nej nasledujúci kód.

version: '3.6'
services:
  web:
    image: 'gitlab/gitlab-ee:latest'
    container_name: 'gitlab-howtoforge'
    restart: always
    hostname: 'gitlab.example.com'
    environment:
      GITLAB_OMNIBUS_CONFIG: |
        external_url 'https://gitlab.example.com'
        gitlab_rails['smtp_enable'] = true
        gitlab_rails['smtp_address'] = "email-smtp.us-west-2.amazonaws.com"
        gitlab_rails['smtp_user_name'] = "SESUsername"
        gitlab_rails['smtp_password'] = "SESKey"
        gitlab_rails['smtp_domain'] = "example.com"
        gitlab_rails['smtp_enable_starttls_auto'] = true
        gitlab_rails['smtp_port'] = 587
        gitlab_rails['smtp_authentication'] = "login"
        gitlab_rails['gitlab_email_from'] = '[email '
        gitlab_rails['gitlab_email_reply_to'] = '[email '
        # Add any other gitlab.rb configuration here, each on its own line
    ports:
      - '80:80'
      - '443:443'
      - '22:22'
      - '587:587'
    volumes:
      - '$GITLAB_HOME/config:/etc/gitlab'
      - '$GITLAB_HOME/logs:/var/log/gitlab'
      - '$GITLAB_HOME/data:/var/opt/gitlab'
    shm_size: '256m'

Pozrime sa na všetky možnosti definované v súbore.

  • obrázok označuje umiestnenie obrázka Docker Gitlabu na Dockerhub.
  • názov_kontajnera vám umožňuje použiť štítok na kontajner dockera, ktorý sa použije pri odkazovaní na kontajner v sieti Docker.
  • reštart určuje politiku reštartu pre kontajner. Nastavenie na vždy znamená, že ak sa kontajner ukončí, automaticky sa reštartuje.
  • názov hostiteľa definuje interný názov hostiteľa kontajnera alebo v tomto prípade adresu URL, na ktorú bude nainštalovaný váš Gitlab.
  • prostredie poskytuje premennú GITLAB_OMNIBUS_CONFIG, ktorá vám umožňuje zadať akékoľvek konfiguračné nastavenie Gitlabu.
  • external_url odkazuje na doménu, kde bude nainštalovaný váš Gitlab. Použitie protokolu https zaisťuje automatickú inštaláciu certifikátu Let's Encrypt SSL.
  • Podrobnosti SMTP – zahrnuli sme podrobnosti SMTP, aby inštancia Gitlabu mohla posielať dôležité e-maily a upozornenia. Pre náš tutoriál používame službu SES spoločnosti Amazon. Môžete však použiť akúkoľvek službu podľa vlastného výberu. Ak chcete zistiť, ako ich nakonfigurovať, pozrite si dokumentáciu Gitlab pre odosielateľov SMTP.
  • porty oznamujú kontajneru, aby zverejnil porty alebo rozsah portov hostiteľovi. Keďže Gitlab potrebuje porty 22 (SSH), 80 (HTTP), 443 (HTTPS) a 587 (SMTP), boli vystavené systému. Ak chcete, aby Gitlab používal na vašom serveri neštandardný port (pravdepodobne preto, že nie je dostupný), mali by ste najprv poskytnúť hostiteľský port a potom kontajnerový port. Napríklad, keďže váš server už používa port SSH(22), môžete Gitlabu povedať, aby používal SSH cez iný port, povedzme 3333. Potom by ste zmenili 22:22 vo vyššie uvedenom súbore na 3333:22. Budete tiež musieť pridať riadok gitlab_rails['gitlab_shell_ssh_port']=3333 v časti GITLAB_OMNIBUS_CONFIG vyššie.
  • objem definuje adresáre prítomné na serveri na ukladanie trvalých údajov. Ako je definované v kroku 5, $GITLAB_HOME teraz možno použiť v súbore na vytvorenie súboru na pripojenie relevantných adresárov do kontajnera.
  • shm_size označuje zdieľanú pamäť používanú kontajnerom. V predvolenom nastavení Docker prideľuje 64 MB do adresára zdieľanej pamäte (pripojeného na /dev/shm). To sa môže ukázať ako nedostatočné pre metriky Prometheus, ktoré generuje kontajner Gitlab. Preto minimálne 256 MB zdieľanej pamäte zaisťuje plynulý chod dockera. Jeho hodnotu môžete zvýšiť v závislosti od RAM, ktorú má váš systém. Prípadne môžete po inštalácii deaktivovať metriky Prometheus v oblasti správcu. Toto preskúmame v ďalšom kroku.

Spustite kontajner Gitlab Docker.

docker compose up -d

Dokončenie procesu bude trvať niekoľko minút. Pokrok môžete sledovať pomocou denníkov Docker.

docker logs gitlab-howtoforge -f

Ak chcete ukončiť sledovanie denníka, stlačte Ctrl + C.

Stav kontajnera Gitlab môžete skontrolovať pomocou nasledujúceho príkazu.

docker ps

Gitlab automaticky vygeneruje root heslo a uloží ho do súboru initial_root_password. Tento súbor možno nájsť v adresári /srv/gitlab/config. Ak chcete zobraziť heslo root, spustite nasledujúci príkaz.

cat /opt/gitlab/vol/config/initial_root_password

Dostanete podobný výstup.

# WARNING: This value is valid only in the following conditions
#          1. If provided manually (either via `GITLAB_ROOT_PASSWORD` environment variable or via `gitlab_rails['initial_root_password']` setting in `gitlab.rb`, it was provided before database was seeded for the first time (usually, the first reconfigure run).
#          2. Password hasn't been changed manually, either via UI or via command line.
#
#          If the password shown here doesn't work, you must reset the admin password following https://docs.gitlab.com/ee/security/reset_user_password.html#reset-your-root-password.

Password: Hz3t7Etn18wB6VAfBWyDlYbN2VQdMCO0xIIENfDHcFo=

# NOTE: This file will be automatically deleted in the first reconfigure run after 24 hours.

Skopírujte heslo a uložte ho na neskoršie použitie. Teraz, keď je všetko nastavené, môžeme pokračovať v konfigurácii.

Krok 6 – Nakonfigurujte Gitlab

Prístup k Gitlabu

Otvorte URL https://gitlab.example.com vo svojom prehliadači a dostanete nasledujúcu prihlasovaciu obrazovku.

Zadajte root ako používateľské meno a heslo, ktoré ste získali v predchádzajúcom kroku na prihlásenie sa do svojho ovládacieho panela Gitlab. Po prihlásení sa dostanete na nasledujúcu obrazovku ovládacieho panela.

Ako vidíte, Gitlab už vytvoril projekt na monitorovanie inštancie.

Obmedziť verejné registrácie

V predvolenom nastavení si každý môže vytvoriť účet a získať prístup. Ak ho nechcete, môžete ho vypnúť. Našťastie sa jeho nastavenie zobrazuje vo forme vyskakovacej obrazovky na palubnej doske. Kliknutím na tlačidlo Vypnúť obmedzíte verejné registrácie vo svojej inštancii Gitlabu. Ak tak urobíte, budete presmerovaní na nasledujúcu stránku nastavení.

Ak ich chcete obmedziť, zrušte začiarknutie možnosti Registrácia povolená. Stlačením tlačidla Uložiť zmeny použijete nastavenie.

V prípade, že sa vám na informačnom paneli nezobrazuje kontextové okno, môžete prejsť na stránku nastavení kliknutím na tlačidlo Ponuka a odtiaľ prejsť na panel Správca.

Keď ste v správcovskom paneli, umiestnite kurzor myši na možnosť Nastavenia na ľavom bočnom paneli a kliknite na podponuku Všeobecné. Odtiaľ sa môžete dostať na panel Obmedzenia registrácie.

Nakonfigurujte profil Gitlab

Váš predvolený profil je prázdny a nemá sa preňho čo zobrazovať. Ak to chcete zmeniť, kliknutím na ikonu používateľa v ľavom hornom rohu vyvolajte rozbaľovaciu ponuku a vyberte možnosť Upraviť profil.

Dostanete sa na stránku nastavení profilu, kde môžete pridať svoje meno, e-mail a ďalšie informácie o sebe. Po dokončení kliknite na položku Aktualizovať nastavenia profilu. Nevracajte sa na domovskú stránku, pretože tu máme niekoľko ďalších vecí, ktoré je potrebné nakonfigurovať.

Zmeniť heslo root

Toto je jeden z najdôležitejších krokov. Mali by ste okamžite zmeniť svoje predvolené heslo root. V starších verziách Gitlab vyžadoval, aby ste to zmenili ako súčasť inštalácie, ale teraz je to voliteľné. Ak chcete zmeniť heslo, kliknite na ponuku Heslo na ľavom bočnom paneli.

Zadajte podrobnosti o svojom hesle a kliknutím na tlačidlo Uložiť heslo vykonajte zmenu. Budete odhlásení z vašej inštancie a budete sa musieť znova prihlásiť.

Zmeniť meno používateľa

Svoje predvolené používateľské meno Gitlab môžete zmeniť z root na ľubovoľné podľa vlastného výberu. Ak to chcete urobiť, kliknite na ponuku Účet na ľavom bočnom paneli.

Na stránke zadajte svoje nové používateľské meno a kliknutím na tlačidlo Aktualizovať používateľské meno vykonajte zmenu. Budete znova vyzvaní na potvrdenie. Zmenu potvrďte opätovným stlačením tlačidla Aktualizovať používateľské meno.

Na zlepšenie zabezpečenia účtu by ste tu mali povoliť aj dvojfaktorové overenie.

Zakázať metriky Prometheus a zlepšiť súkromie

V predchádzajúcom kroku sme diskutovali o zvýšení veľkosti zdieľanej pamäte pre droplet a jej udržaní na minimálnej hodnote 256 MB. Vyžaduje sa hlavne ukladanie údajov súvisiacich s metrikami Prometheus na disk. Ak túto funkciu nepoužívate, mali by ste ju vypnúť. Môžete to urobiť až po inštalácii. Ak ho chcete zakázať, otvorte Panel správcu na paneli s ponukami.

Na paneli Správca otvorte možnosť ponuky Nastavenia >> Metriky a profilovanie.

Rozbaľte sekciu Metriky – Prometheus na stránke Metriky a zrušte začiarknutie možnosti Povoliť koncový bod metrík zdravia a výkonnosti. Kliknutím na tlačidlo Uložiť zmeny vykonáte zmenu.

Gitlab tiež zhromažďuje informácie o používaní z každej inštalácie. Ak si ceníte súkromie a nechcete, aby sa to stalo, rozbaľte možnosť Štatistiky používania na tej istej stránke a zrušte začiarknutie možnosti Povoliť službu Ping. Kliknutím na tlačidlo Uložiť zmeny vykonáte zmenu.

Krok 7 – Vytvorenie prvého projektu

Skúsme vytvoriť náš prvý projekt a posunúť záväzok.

Pridanie kľúča SSH

Pred ďalším pokračovaním by sme mali pridať náš kľúč SSH. To nám umožňuje interagovať s našou inštaláciou bez použitia akýchkoľvek hesiel. Ak máte kľúč SSH, nasledujúci príkaz môžete preskočiť. Ak ho nemáte, môžete si ho vytvoriť pomocou nasledujúceho príkazu.

$ ssh-keygen -t ed25519 -C "gitlab.example.com"

Tento príkaz je spoločný pre macOS, Linux a Git Bash/WSL v systéme Windows. Prijmite predvolené nastavenia a zadajte silnú prístupovú frázu. Vytvárame kľúče SSH na Windows Powershell Terminal.

Generating public/private rsa key pair.
Generating public/private ed25519 key pair.
Enter file in which to save the key (C:\Users\<username>/.ssh/id_ed25519):
Enter same passphrase again:
Your identification has been saved in C:\Users\<username>/.ssh/id_ed25519.
Your public key has been saved in C:\Users\<username>/.ssh/id_ed25519.pub.
SHA256:CI3Ja1LSTN+j4LQnDYkAoP+DvZB8SWrD26zDyUBRbUY gitlab.example.com
+--[ED25519 256]--+
|* ..+E           |
|. + / o o        |
| o = B o .       |
|. o B = S        |
|.o X +           |
| +X.*            |
| .=B o           |
+----[SHA256]-----+

Pridajte identitu súkromného kľúča do autentifikačného agenta SSH. Ak používate systém Windows, skontrolujte, či je spustená služba OpenSSH Authentication Agent. Ak používate Linux alebo macOS, spustite nasledujúci príkaz.

$ eval $(ssh-agent -s)

Pridajte kľúč.

$ ssh-add C:\Users\<username>/.ssh/id_ed25519

V systémoch Linux a macOS sa príkaz zmení na

$ ssh-add ~/.ssh/id_ed25519

Budete vyzvaní na zadanie prístupovej frázy. Zadajte ho a kľúč sa pridá.

Ďalej musíme tieto nastavenia uložiť do súboru ~/.ssh/config. V systéme Windows to bude adresár C:\Users\\.ssh. Vložte nasledujúci kód na koniec súboru.

Host gitlab.example.com
  PreferredAuthentications publickey
  IdentityFile ~/.ssh/id_ed25519

V tomto súbore zostane názov cesty rovnaký vo všetkých operačných systémoch. Uložte súbor.

Ďalej musíme skopírovať verejný kľúč do nášho účtu Gitlab. Svoj verejný kľúč môžete zobraziť pomocou nasledujúceho príkazu. Názov cesty bude opäť fungovať vo všetkých operačných systémoch.

$ cat ~/.ssh/id_ed25519.pub

Získate podobný výstup.

ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAml2KPhmGkdMWv7jksLKO13u3g1zI9CumKDQSpv7lYh gitlab.example.com

Otvorte nastavenia svojho profilu v Gitlabe a na ľavom bočnom paneli vyberte ponuku Kľúče SSH.

Prilepte kľúč SSH do poskytnutého poľa a pokračujte kliknutím na Pridať kľúč.

Ďalej musíme otestovať, či naše pripojenie SSH úspešne funguje. Na termináli počítača spustite nasledujúci príkaz.

$ ssh -T [email 

Získate podobný výstup. Najprv sa zobrazí výzva na pridanie kľúča SSH do zoznamu známych hostiteľov vášho systému. Ak chcete pokračovať, zadajte áno. Dostanete tiež upozornenie, že kľúč SSH pre inštanciu Gitlabu a IP vášho servera nie sú rovnaké a znova sa vás opýta, či chcete pokračovať. Znova zadajte áno. Nakoniec dostanete správu o úspechu potvrdzujúcu vaše pripojenie k vašej inštancii Gitlab.

The authenticity of host 'gitlab.example.com (192.0.2.0)' can't be established.
ECDSA key fingerprint is SHA256:g5mOqAY2A3lhXW0flnLGdSU7RrDnbRFKVJCquAhLXqk.
Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
Warning: Permanently added 'gitlab.example.com' (ECDSA) to the list of known hosts.
Warning: the ECDSA host key for 'gitlab.example.com' differs from the key for the IP address '192.0.2.0'
Are you sure you want to continue connecting (yes/no)? yes
Offending key for IP in C:\Users\navjo/.ssh/known_hosts:7
Welcome to GitLab, @navjot!

Teraz môžeme prejsť k vytvoreniu nášho prvého úložiska a urobiť nejaké záväzky.

Vytvorenie projektu

Každé úložisko v Gitlabe patrí k projektu. Projekt zahŕňa úložisko, sledovanie problémov, žiadosti o zlúčenie, wiki, kanály nepretržitej integrácie a nepretržitého doručovania (CI/CD) a množstvo ďalších funkcií.

Ak chcete vytvoriť svoj prvý archív, kliknite na svojej domovskej stránke na tlačidlo Nový projekt.

Dostanete sa na stránku Nový projekt, kde budete mať viacero možností, ako vytvoriť nový projekt.

Pokračujte výberom možnosti Vytvoriť prázdny projekt. Na ďalšej stránke zadajte názov projektu. V rozbaľovacej ponuke pri možnosti Adresa URL projektu vyberte svoje používateľské meno. Nastavte si projektový blok. Ak chcete, zadajte popis projektu a zmeňte viditeľnosť projektu podľa svojich potrieb. Svoj repozitár môžete inicializovať pomocou súboru README.

Po dokončení kliknite na položku Vytvoriť projekt. Dostanete sa na stránku svojho úložiska iba s jedným prázdnym súborom README.md.

Teraz, keď je náš repozitár aktívny, skúsme pridať changelog z príkazového riadku. Zadajte na svojom počítači nasledujúce príkazy na vytvorenie súboru CHANGELOG a vráťte ho späť do svojho úložiska. Uistite sa, že máte v počítači nainštalovaný Git.

Prvým krokom je klonovanie úložiska. Môžete klonovať pomocou SSH alebo HTTPS. Klonujte pomocou SSH. Budete požiadaní o prístupovú frázu.

$ git clone [email :user/howtoforge-test.git

Zadajte zvyšok príkazov na vytvorenie a odoslanie súboru CHANGELOG.

$ cd howtoforge-test
$ touch CHANGELOG  # Or create the file in your editor and enter a project description
$ git add CHANGELOG
$ git commit -m "add Changelog"
$ git push -u origin main

Počas príkazu push budete opäť vyzvaní na zadanie prístupovej frázy.

Vráťte sa na stránku projektu Gitlab a uvidíte na nej súbor CHANGELOG. Gratulujem! Úspešne ste vytvorili svoj prvý projekt a odovzdali ste mu súbor.

Krok 8 – Správa kontajnera Gitlab

Pozrime sa, ako môžete spravovať kontajner Gitlab pomocou jednoduchých príkazov.

Ak chcete kontajner kedykoľvek zastaviť, zadajte nasledujúci príkaz z adresára Docker Compose.

$ docker compose down

Ak ich chcete znova spustiť, zadajte nasledujúci príkaz.

$ docker compose up -d

Ak chcete zmeniť akékoľvek nastavenie alebo pridať nastavenie do svojej inštancie Gitlabu, môžete tak urobiť úpravou súboru docker-compose.yml v premennej GITLAB_OMNIBUS_CONFIG. Po vykonaní zmeny budete musieť reštartovať kontajner, aby sa zmena implementovala. Vydaním nasledujúcich príkazov aktualizujte kontajner na novú konfiguráciu.

$ docker compose down --remove-orphans
$ docker compose up -d

Ak chcete kontajner reštartovať, zadajte nasledujúci príkaz. Nasledujúci príkaz reštartu však nezoberie žiadne zmeny vykonané v súbore zostavy Docker.

$ docker compose restart

Prístup k plášťu kontajnera.

$ docker exec -it <container name> bash

Krok 9 - Zálohujte Gitlab

Zálohovanie Gitlabu je možné vykonať pomocou jediného príkazu.

$ docker exec -t gitlab-howtoforge gitlab-backup create

Záložný súbor je uložený v adresári /srv/gitlab/data/backups. Táto záloha neobsahuje váš konfiguračný súbor gitlab-secrets.json. Tento súbor sa nachádza v adresári /srv/gitlab/config. Preto musíte tento súbor zálohovať samostatne. Existuje ďalší konfiguračný súbor gitlab.rb, ktorý obsahuje všetky nastavenia pre inštanciu Gitlab. Ale v našom prípade sme použili premennú GITLAB_OMNIBUS_CONFIG v našom zostavenom súbore, preto tento súbor Gitlab nepoužíva. Ak chcete vykonať zmeny v Gitlabe, budete ich musieť definovať prostredníctvom premennej. Preto budete musieť zálohovať aj zostavený súbor.

Môžete vytvoriť záznam cron na pravidelné zálohovanie inštalácie Gitlabu.

Krok 10 - Obnovte Gitlab

Ak chcete obnoviť Gitlab, mali by ste mať funkčnú inštaláciu Gitlabu na inom systéme. Budete tiež musieť skopírovať konfiguračný adresár a prepísať konfiguráciu existujúcej inštalácie.

Obnova Gitlabu vyžaduje spustenie niekoľkých príkazov. Najprv musíte zastaviť procesy pripojené k databáze.

$ docker exec -it <name of container> gitlab-ctl stop puma
$ docker exec -it <name of container> gitlab-ctl stop sidekiq

Nahraďte názvom kontajnera na svojom novom serveri.

Pred pokračovaním sa uistite, že procesy nefungujú.

$ docker exec -it <name of container> gitlab-ctl status

Skopírujte súbor zálohy do adresára /srv/gitlab/data/backups. Vytvorte adresár, ak neexistuje.

Spustite príkaz obnovenia. Z príkazu musíte odstrániť časť názvu súboru _gitlab_backup.tar.

$ docker exec -it <name of container> gitlab-backup restore BACKUP=11493107454_2018_04_25_10.6.4-ce

Skopírujte súbor gitlab-secrets.json a prepíšte existujúcu kópiu v adresári /srv/gitlab/config nového servera. Skopírujte tiež všetky nastavenia Gitlabu zo zálohovaného súboru na zostavenie do súboru v novšom kontajneri.

Reštartujte kontajner Gitlab. Príkaz docker compose restart nemôžeme použiť priamo, pretože nevyberie žiadne zmeny vykonané v súbore na zostavenie, ktoré potrebujeme.

$ docker compose down --remove-orphans
$ docker compose up -d

Skontrolujte Gitlab.

$ docker exec -it <name of container> gitlab-rake gitlab:check SANITIZE=true

Krok 11 - Aktualizujte Gitlab

Ak chcete aktualizovať Gitlab, prvým krokom je urobiť zálohu, ako je uvedené v predchádzajúcej zastávke.

Ďalej sa prepnite do adresára Gitlab's Docker Compose.

$ cd ~/gitlab-docker

Potom zastavte a odstráňte existujúcu nádobu. Vaše údaje však zostanú zachované.

$ docker compose down --remove-orphans

Stiahnite si najnovšiu verziu obrazu Gitlab docker.

$ docker compose pull

Spustite nádoby znova.

$ docker compose up -d

Tento proces je vhodný na inováciu medzi menšími verziami Gitlabu, ale keď inovujete na hlavnú verziu, musíte vykonať ďalšie kroky a prijať preventívne opatrenia. Pred vykonaním aktualizácie by ste si mali prečítať dokumentáciu Gitlabu.

Záver

Toto končí náš tutoriál, kde ste sa naučili, ako nainštalovať Gitlab pomocou Docker na serveri Debian 12. Vytvorili ste tiež svoj prvý projekt a odoslali súbor z počítača. Ak máte nejaké otázky, napíšte ich do komentárov nižšie.