GitLab je komplexní platforma DevOps, která poskytuje širokou škálu funkcí pro správu verzí, průběžnou integraci, nasazení a správu projektů. Integruje různé fáze životního cyklu DevOps do jediné aplikace a umožňuje týmům spolupracovat a efektivně pracovat. GitLab Community Edition (CE) je open-source verze GitLab, která nabízí výkonné nástroje pro správu úložišť, sledování problémů a automatizaci kanálů CI/CD.
Chcete-li nainstalovat GitLab CE na Debian 12 nebo 11, můžete použít oficiální skript GitLab Bash k nastavení úložiště GitLab CE APT a poté nainstalovat a nakonfigurovat software. Tato příručka vás provede celým procesem a zajistí, že budete mít na svém systému Debian robustní nastavení GitLab.
Aktualizujte Debian před instalací Gitlabu
Udržování aktuálního operačního systému Debian je zásadní pro udržení jeho stability a bezpečnosti. Chcete-li zajistit, aby všechny stávající balíčky na vašem systému Debian byly aktuální, doporučujeme provést aktualizaci, která poskytne nejnovější aktualizace zabezpečení a opravy chyb a zajistí stabilitu a spolehlivost vašeho systému.
Svůj operační systém Debian můžete snadno aktualizovat spuštěním následujícího příkazu:
sudo apt update && sudo apt upgrade
Nainstalujte požadované balíčky pro GitLab
Zajištění instalace všech závislostí pro GitLab je kritickým krokem v procesu instalace. Tyto závislosti jsou nezbytné součásti, na které GitLab spoléhá, aby správně fungovaly. Instalace těchto závislostí je naštěstí jednoduchý proces.
Můžete je snadno nainstalovat otevřením terminálu a spuštěním následujícího příkazu:
sudo apt install curl ca-certificates apt-transport-https tzdata perl
Importujte úložiště GitLab CE APT
Ve výchozím nastavení není GitLab dostupný ve výchozích repozitářích Debianu. To znamená, že pro instalaci GitLab musíte vytvořit úložiště ručně. GitLab však poskytuje skript APT, který s tímto procesem pomáhá a usnadňuje uživatelům instalaci platformy. Pomocí tohoto skriptu můžete vytvořit úložiště GitLab, které vám umožní nainstalovat GitLab pomocí standardního správce balíčků APT.
Chcete-li skript stáhnout, zadejte do terminálu následující příkaz:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash
Jakmile tento příkaz spustíte, skript si stáhne a přidá úložiště GitLab do vašeho systému Debian. Aktualizuje také seznam balíčků, což vám umožní nainstalovat GitLab pomocí standardního správce balíčků APT.
Dokončete instalaci GitLab pomocí příkazu APT
Dalším krokem je instalace GitLab. Nezapomeňte, že skript již použil příkaz „apt update“ k synchronizaci nově vytvořeného a upraveného úložiště. Po dokončení můžete nyní přistoupit ke spuštění instalačního příkazu spuštěním následujícího:
sudo apt install gitlab-ce
Tento příkaz nainstaluje GitLab Community Edition (CE), bezplatnou a open-source verzi GitLab. Proces instalace může nějakou dobu trvat v závislosti na rychlosti vašeho internetu a specifikacích systému.
Příklad výstupu, pokud je instalace GitLab úspěšná v Debianu:
Nakonfigurujte GitLab
Chcete-li nakonfigurovat GitLab na Debianu, musíte pečlivě dodržet několik kroků. Tato část popisuje postup krok za krokem, včetně konfigurace názvu hostitele, nastavení brány firewall a konfigurace nastavení e-mailu.
Nakonfigurujte název hostitele
Pro přístup k vaší instanci GitLab je zásadní nakonfigurovat název hostitele pro váš server GitLab, takže vyberte název, který si snadno zapamatujete a budete k němu mít přístup. Chcete-li nakonfigurovat název hostitele, postupujte takto:
Otevřete konfigurační soubor GitLab pomocí textového editoru:
sudo nano /etc/gitlab/gitlab.rb
Vyhledejte nastavení external_url a nahraďte ukázkovou adresu URL požadovaným názvem hostitele:
external_url 'https://gitlab.example.com'
Uložte soubor a ukončete textový editor.
Nyní překonfigurujte GitLab tak, aby aplikoval změny:
sudo gitlab-ctl reconfigure
Nastavte UFW Firewall pro Gitlab
GitLab standardně používá port 80 pro HTTP a port 443 pro HTTPS. Je velmi důležité nakonfigurovat bránu firewall tak, aby umožňovala provoz na těchto portech a zajistila dostupnost vaší instance GitLab.
Při nastavení brány firewall postupujte takto:
Nejprve nainstalujte UFW firewall, protože tento není standardně nainstalován v Debianu, pomocí následujícího příkazu:
sudo apt install ufw
Poté, jakmile je instalace dokončena, povolte UFW firewall pomocí následujícího příkazu:
sudo ufw enable
Otevřete konfigurační soubor brány firewall pomocí textového editoru:
sudo nano /etc/ufw/applications.d/gitlab
Zkopírujte a vložte následující řádky do souboru:
[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp
Uložte soubor a ukončete textový editor.
Povolte aplikaci GitLab ve firewallu:
sudo ufw app update GitLab
sudo ufw allow GitLab
Nakonfigurujte nastavení e-mailu
GitLab používá e-mailová upozornění k informování uživatelů o aktivitách projektu, jako jsou nové problémy, žádosti o sloučení a komentáře.
Při konfiguraci nastavení e-mailu postupujte takto:
Otevřete konfigurační soubor GitLab pomocí textového editoru:
sudo nano /etc/gitlab/gitlab.rb
Vyhledejte nastavení gitlab_rails['smtp_enable'] a nastavte jej na hodnotu true:
gitlab_rails['smtp_enable'] = true
Chcete-li nakonfigurovat nastavení serveru SMTP pro svého poskytovatele e-mailu, jako je Gmail, přidejte do souboru následující řádky:
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
Uložte soubor a ukončete textový editor.
Překonfigurujte GitLab, aby se změny projevily:
sudo gitlab-ctl reconfigure
Je důležité si uvědomit, že po provedení příkazu „gitlab-ctl reconfigure“ můžete pozorovat, že výstup terminálu končí následující zprávou:
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.
Chcete-li zobrazit heslo root (GitLab), spusťte ve svém terminálu následující příkaz:
sudo cat /etc/gitlab/initial_root_password
Po provedení tohoto příkazu se v terminálu zobrazí heslo uživatele root. Je důležité toto heslo zabezpečit a nesdílet jej s neoprávněnými uživateli.
Pokud potřebujete resetovat heslo uživatele root, můžete použít následující příkaz:
sudo gitlab-rake "gitlab:password:reset[root]"
Po provedení tohoto příkazu bude heslo root resetováno na náhodný řetězec zobrazený na výstupu terminálu. Je důležité si pamatovat, že resetování hesla root zneplatní všechny existující a osobní přístupové tokeny, takže uživatelé si po resetování hesla musí vytvořit nové.
Z bezpečnostních důvodů se doporučuje změnit heslo uživatele root na silné a jedinečné co nejdříve po úvodním nastavení a vyhnout se použití výchozího hesla. Heslo uživatele root můžete změnit tak, že se přihlásíte do webového rozhraní GitLab, přejdete na „Nastavení uživatele“ > „Účet“ a vyberete možnost „Změnit heslo“.
Přístup k uživatelskému rozhraní GitLab
Jakmile je konfigurace backendu dokončena, je čas se přihlásit a otevřít GitLab. Chcete-li toho dosáhnout, otevřete v konfiguračním souboru cestu domény přiřazenou GitLabu.
https://gitlab.example.com
Dále se přihlaste do GitLabu pomocí uživatelského jména „root“ a hesla, které jste obdrželi během instalace. Jak bylo uvedeno ve výtisku hesla v předchozí části, heslo průvodce bylo na obrázku „4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=“.
Úspěšně jste se přihlásili jako účet root a dostanete se na výchozí vstupní stránku.
Další tipy
Níže jsou uvedena některá doporučení pro zabezpečení, přizpůsobení nebo jakékoli jiné obecné tipy pro první použití při prvním přihlášení do uživatelského rozhraní GitLab:
- Změňte výchozí heslo: Chcete-li zvýšit zabezpečení vaší instance GitLab, je zásadní změnit výchozí heslo uživatele root. Přihlaste se do GitLab pomocí výchozího uživatelského jména a hesla, přejděte na „Nastavení uživatele“ > „Heslo“ a zadejte své nové heslo.
- Nastavte dvoufaktorové ověřování (2FA): Přidání autentizačního faktoru, jako je kód odeslaný na váš telefon nebo vygenerovaný aplikací, do přihlašovacího procesu je další vrstvou zabezpečení, kterou poskytuje 2FA. Chcete-li povolit 2FA v GitLab, přejděte na „Uživatelská nastavení“> „Účet“> „Dvoufaktorové ověřování“ a postupujte podle pokynů.
- Vytvořte projekt: Chcete-li vytvořit nový projekt v GitLab, přejděte na stránku „Projekty“ a klikněte na tlačítko „Nový projekt“. Můžete vytvořit prázdný projekt nebo importovat existující projekt z úložiště Git.
- Přizpůsobte uživatelské rozhraní: GitLab umožňuje několik možností přizpůsobení, jako je změna motivu, přidání vlastního loga a konfigurace navigační lišty. Přejděte na „Oblast správce“> „Nastavení“ a vyberte příslušné možnosti pro přizpůsobení uživatelského rozhraní.
- Konfigurace řízení přístupu: Výkonné funkce řízení přístupu GitLab vám umožňují řídit, kdo může přistupovat k vašim projektům a co může dělat. Přejděte na „Nastavení projektu“> „Členové“ a přidejte nebo odeberte členy s různými úrovněmi přístupu pro konfiguraci řízení přístupu.
- Použijte GitLab CI/CD: Výkonné funkce CI/CD GitLab automatizují testování a nasazení vašeho kódu. Nakonfigurujte kanály CI/CD vytvořením souboru „.gitlab-ci.yml“ v kořenovém adresáři vašeho projektu a definováním fází a úloh pro váš kanál.
- Nastavení GitLab Runner: GitLab Runner je odlehčený agent, který spouští úlohy CI/CD a posílá výsledky zpět do GitLabu. Při instalaci a konfiguraci GitLab Runner na vašem systému Debian postupujte podle pokynů v dokumentaci GitLab.
- Zálohujte svou instanci GitLab: Pravidelně zálohujte instanci GitLab, abyste zabránili ztrátě dat v případě selhání hardwaru nebo jiných katastrof. Spusťte ve svém terminálu příkaz „gitlab-rake gitlab:backup:create“ a zálohujte instanci GitLab.
Vytvořte Cronjob pro automatické zálohování GitLab
Nastavení cronjob pro automatické zálohování GitLab v Debianu je zásadní pro zajištění bezpečnosti a zabezpečení vašich dat. Cronjob je naplánovaná úloha, která se automaticky spouští v určitých intervalech, aby provedla zálohu vaší instance GitLab. Chcete-li vytvořit cronjob pro automatické zálohování GitLab v Debianu, postupujte podle těchto kroků.
Vytvořte Gitlab Backup Script
Prvním krokem je vytvoření záložního skriptu pro provedení zálohy vaší instance GitLab. Následuj tyto kroky:
Pomocí textového editoru vytvořte nový soubor pro zálohovací skript. Zde je příklad:
sudo nano /usr/local/bin/gitlab-backup.sh
Do souboru vložte následující kód:
#!/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
- Uložte soubor a ukončete textový editor.
Tento skript vygeneruje zálohu vaší instance GitLab spuštěním příkazu gitlab-rake gitlab:backup:create. Po vytvoření zálohy duplikuje nejnovější zálohu do nového souboru s časovým razítkem v názvu souboru.
Nastavení oprávnění a vlastnictví
Dalším krokem je stanovení příslušných oprávnění a vlastnictví pro zálohovací skript, aby bylo zajištěno, že jej cronjob bude moci spustit. Následuj tyto kroky:
Nastavte vlastníka zálohovacího skriptu na uživatele spojeného s GitLab:
sudo chown git:git /usr/local/bin/gitlab-backup.sh
Nastavte oprávnění zálohovacího skriptu, abyste povolili spuštění:
sudo chmod +x /usr/local/bin/gitlab-backup.sh
Vytvoření Cronjob
Dalším krokem je vytvoření cronjob pro naplánování pravidelného spouštění skriptu zálohování. Postupujte takto:
Chcete-li otevřít konfigurační soubor crontab pro uživatele GitLab, postupujte takto:
sudo crontab -u git -e
Chcete-li naplánovat spouštění zálohovacího skriptu každý den v 1:00, přidejte do konfiguračního souboru crontab pro uživatele GitLab následující řádek:
0 1 * * * /path/to/backup/script.sh
Uložte soubor a ukončete textový editor.
Tento cronjob automaticky spustí zálohovací skript každý den v 1:00, což povede k vytvoření nového záložního souboru s časovým razítkem v názvu souboru.
Testování Cronjob
Správné funkce cronjob můžete ověřit ručním spuštěním zálohovacího skriptu a zajištěním, že se záložní soubor vygeneruje bez chyb. Chcete-li provést tento test, zadejte do terminálu následující příkaz:
sudo /usr/local/bin/gitlab-backup.sh
Tento příkaz vygeneruje nový záložní soubor v adresáři “/var/opt/gitlab/backups”. Název souboru bude obsahovat časové razítko označující, kdy byla záloha vytvořena.
Příkazy terminálu GitLab
GitLab-ctl je nástroj příkazového řádku pro správu GitLab v Debianu. Poskytuje sadu terminálových příkazů pro spouštění, zastavování, restartování a správu služeb GitLab, mimo jiné. Zde je podrobná část o příkazech terminálu GitLab-ctl spolu s ukázkovými příkazy a výstupy s vysvětlením.
Spouštění a zastavování služeb GitLab
Chcete-li spustit a zastavit služby GitLab, použijte následující příkazy:
Spusťte všechny služby GitLab:
sudo gitlab-ctl start
Zastavte všechny služby GitLab:
sudo gitlab-ctl stop
Restartujte všechny služby GitLab:
sudo gitlab-ctl restart
Znovu načíst služby GitLab:
sudo gitlab-ctl reload
Tyto příkazy spustí, zastaví, restartují nebo znovu načtou všechny služby GitLab. Výstup bude indikovat, které služby se spouštějí nebo zastavují a zda byla operace úspěšná.
Kontrola stavu služeb GitLab
Chcete-li zkontrolovat stav služeb GitLab, použijte následující příkaz:
sudo gitlab-ctl status
Tyto příkazy spustí, zastaví, restartují nebo znovu načtou všechny služby GitLab. Po provedení příkazu výstup ukáže, které služby jsou ovlivněny a zda operace proběhla úspěšně.
Zálohování a obnova dat GitLab
Zálohu dat GitLab můžete vytvořit pomocí následujícího příkazu:
Vytvořte zálohu dat GitLab:
sudo gitlab-rake gitlab:backup:create
Poskytnutý příkaz vytvoří záložní soubor, který obsahuje všechna data GitLab, jako jsou úložiště, uživatelská data a konfigurační soubory. Záložní soubor bude uložen v adresáři: “/var/opt/gitlab/backups”.
Obnovte zálohu dat GitLab:
sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>
Pomocí tohoto příkazu můžete obnovit zálohu dat GitLab z konkrétního záložního souboru. Soubor zálohy musí být v adresáři „var/opt/gitlab/backups“, nebo můžete uvést úplnou cestu k souboru zálohy.
Kontrola konfigurace GitLab
Ke kontrole konfigurace GitLabu můžete použít následující příkaz:
sudo gitlab-rake gitlab:check
Tento příkaz může vyhledávat chyby nebo varování v konfiguraci GitLab, včetně zastaralých verzí, chybějících závislostí a nesprávně nakonfigurovaných nastavení. Výstup shrnuje výsledky skenování a podrobné informace o všech zjištěných problémech.
Kontrola protokolů GitLab
Zde je návod, jak zkontrolovat protokoly GitLab pomocí následujících příkazů:
Prohlédněte si protokoly GitLab:
sudo gitlab-ctl tail gitlab-rails/production.log
Následující příkaz můžete použít k zobrazení posledních deseti řádků produkčního protokolu GitLab, který podrobně popisuje akce uživatele, varování a chyby.
Prohlédněte si protokoly GitLab NGINX:
sudo gitlab-ctl tail nginx/gitlab_access.log
Tento příkaz zobrazí posledních deset řádků protokolu přístupu GitLab NGINX, který obsahuje podrobnosti týkající se požadavků a odpovědí HTTP.
Prohlédněte si protokoly GitLab PostgreSQL:
sudo gitlab-ctl tail postgresql/current
Tento příkaz zobrazí posledních deset řádků protokolu GitLab PostgreSQL, který obsahuje informace o databázových dotazech a transakcích.
Závěr
S GitLab CE úspěšně nainstalovaným na vašem systému Debian pomocí oficiálního instalačního skriptu můžete plně využít jeho výkonné schopnosti DevOps. Tato metoda zajišťuje, že máte nejnovější verzi a snadný přístup k aktualizacím. Pravidelně udržujte a aktualizujte svou instanci GitLab, abyste mohli využívat nejnovější funkce a vylepšení zabezpečení. Užijte si bezproblémovou integraci a nástroje pro spolupráci, které GitLab CE nabízí pro vaše vývojové projekty.