GitLab je bezplatná webová platforma pro správu verzí s otevřeným zdrojovým kódem, která vám umožňuje spravovat všechna vaše úložiště Git z centralizovaného serveru. GitLab je skvělou alternativou ke Githubu a nabízí velmi užitečné funkce včetně kontroly kódu, správy problémů, větvení úložiště, slučování, sledování času a nepřetržité integrace a nasazení. GitLab je speciálně navržen pro vývojáře, aby mohli vytvářet, kontrolovat a nasazovat své projekty.
GitLab je k dispozici ve třech různých edicích:Community Edition (CE), Enterprise Edition (EE) a verze hostovaná GitLab. V závislosti na požadavcích vašeho případu použití můžete nainstalovat kteroukoli z nich.
V tomto tutoriálu vám ukážeme, jak nainstalovat GitLab CE na CentOS 8.
Předpoklady
- Nový CentOS 8 VPS na cloudové platformě Atlantic.Net.
- CPU se 2 jádry pro podporu až 500 uživatelů.
- Minimálně 4 GB paměti RAM pro podporu až 50 uživatelů.
- Platný název domény odkazující na IP adresu vašeho serveru.
- Heslo uživatele root nakonfigurované na vašem serveru.
Krok 1 – Vytvořte cloudový server Atlantic.Net
Nejprve se přihlaste ke svému cloudovému serveru Atlantic.Net. Vytvořte nový server a jako operační systém vyberte CentOS 8 s alespoň 4 GB RAM. Připojte se ke svému cloudovému serveru přes SSH a přihlaste se pomocí přihlašovacích údajů zvýrazněných v horní části stránky.
Jakmile se přihlásíte k serveru CentOS 8, spusťte následující příkaz a aktualizujte svůj základní systém nejnovějšími dostupnými balíčky.
dnf update -y
Dále budete muset do systému nainstalovat některé požadované závislosti. Všechny je můžete nainstalovat pomocí následujícího příkazu:
dnf install curl policycoreutils python3-policycoreutils -y
Krok 2 – Instalace GitLab CE
Můžete jej nainstalovat pomocí následujícího příkazu:
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | bash
Jakmile je úložiště přidáno, měli byste získat následující výstup:
Dále nainstalujte GitLab CE spuštěním následujícího příkazu:
dnf install gitlab-ce -y
Po úspěšném dokončení instalace můžete přejít k dalšímu kroku.
Krok 3 – Zabezpečte GitLab pomocí Let’s Encrypt
Dále budete muset nastavit adresu URL GitLab a povolit integraci Let’s Encrypt. Můžete to udělat úpravou souboru /etc/gitlab/gitlab.rb:
nano /etc/gitlab/gitlab.rb
Změňte následující řádky, které odpovídají názvu vaší domény, a povolte integraci Let’s Encrypt s požadovanou hodnotou:
external_url 'https://gitlab.example.com' letsencrypt['enable'] = true letsencrypt['contact_emails'] = ['[email protected]'] letsencrypt['auto_renew'] = true letsencrypt['auto_renew_hour'] = 12 letsencrypt['auto_renew_minute'] = 15 letsencrypt['auto_renew_day_of_month'] = "*/4"
Po dokončení uložte a zavřete soubor. Poté znovu nakonfigurujte GitLab CE pomocí následujícího příkazu:
gitlab-ctl reconfigure
Tento příkaz překonfiguruje GitLab a zabezpečí jej pomocí Let’s Encrypt SSL. Jakmile bude nastavení GitLabu úspěšně dokončeno, měli byste získat následující výstup:
* execute[reload prometheus] action run - execute /opt/gitlab/bin/gitlab-ctl hup prometheus Recipe: monitoring::alertmanager * runit_service[alertmanager] action restart (up to date) Recipe: monitoring::postgres-exporter * runit_service[postgres-exporter] action restart (up to date) Recipe: monitoring::grafana * runit_service[grafana] action restart (up to date) Recipe: nginx::enable * execute[reload nginx] action run - execute gitlab-ctl hup nginx Recipe: letsencrypt::enable * ruby_block[display_le_message] action run - execute the ruby block display_le_message Recipe: crond::enable * runit_service[crond] action restart (up to date) Running handlers: Running handlers complete Chef Client finished, 609/1641 resources updated in 10 minutes 43 seconds Warnings: Environment variable LANG specifies a non-UTF-8 locale. GitLab requires UTF-8 encoding to function properly. Please check your locale settings. gitlab Reconfigured!
Krok 4 – Přístup k webovému uživatelskému rozhraní GitLab
V tomto okamžiku je GitLab nainstalován a nakonfigurován a nyní můžete přistupovat k uživatelskému rozhraní GitLab na adrese URL https://gitlab.example.com. Budete přesměrováni na obrazovku změny hesla, jak je uvedeno níže:
Nastavte nové heslo pro uživatele root a klikněte na Změnit vaše heslo knoflík. Jakmile je heslo úspěšně změněno, měli byste vidět přihlašovací obrazovku GitLab:
Jako uživatelské jméno zadejte root, zadané heslo a klikněte na Podepsat v knoflík. Na následující obrazovce byste měli vidět řídicí panel GitLab:
Krok 5 – Zakažte registraci uživatele
Chcete-li zakázat registraci uživatele, klikněte na Admin oblast, jak je znázorněno níže:
Nyní klikněte na Nastavení v levém panelu. Měli byste vidět následující stránku:
Dále Rozbalit omezení registrace. Měli byste vidět následující stránku:
Poté zrušte zaškrtnutí políčka Povolit registraci, čímž deaktivujete registraci uživatele na uvítací stránce GitLab, a klikněte na Uložit Změny tlačítko.
Dále se odhlaste ze svého řídicího panelu GitLab. Měli byste vidět následující obrazovku:
Jak vidíte, chybí záložka pro registraci uživatele.
Krok 6 – Automatizace zálohování GitLab
Úplnou zálohu dat GitLab můžete provést pomocí následujícího příkazu:
gitlab-rake gitlab:backup:create
Tento příkaz provede kompletní zálohu dat GitLab a uloží je do adresáře /var/opt/gitlab/backups. Jakmile bude zálohování úspěšně dokončeno, měli byste získat následující výstup:
2020-03-22 10:59:34 -0400 -- Dumping database ... Dumping PostgreSQL database gitlabhq_production ... [DONE] 2020-03-22 10:59:37 -0400 -- done 2020-03-22 10:59:37 -0400 -- Dumping repositories ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping uploads ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping builds ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping artifacts ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping pages ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping lfs objects ... 2020-03-22 10:59:38 -0400 -- done 2020-03-22 10:59:38 -0400 -- Dumping container registry images ... 2020-03-22 10:59:38 -0400 -- done Creating backup archive: 1584889178_2020_03_22_12.9.0_gitlab_backup.tar ... done Uploading backup archive to remote storage ... skipped Deleting tmp directories ... done done done done done done done done done Deleting old backups ... skipping Backup task is done.
Doporučuje se naplánovat zálohování pomocí Cronu, abyste nemuseli pravidelně spouštět zálohy.
Zálohování můžete naplánovat úpravou následujícího souboru:
nano /etc/crontab
Přidejte následující řádek pro zálohování dat GitLab každý den ve 20:00:
0 20 * * * gitlab-rake gitlab:backup:create
Po dokončení uložte a zavřete soubor.
Závěr
Gratulujeme! Úspěšně jste nainstalovali a nakonfigurovali GitLab CE na serveru CentOS 8. Nyní můžete hostovat své vlastní úložiště pomocí GitLab a začít spolupracovat s dalšími vývojáři již dnes pomocí GitLab na VPS s Atlantic.Net!