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.
GitLab Inc nabízí 4 produkty:
- Gitlab CE (Community Edition) – hostovaný a bezplatný; podpora z fóra komunity.
- Gitlab EE (Enterprise Edition) – hostovaný a placený; přichází s dalšími funkcemi.
- GitLab.com – SaaS a zdarma.
- GitLab.io – Soukromá instance GitLab spravovaná společností GitLab Inc.
V tomto tutoriálu vám ukážeme, jak nainstalovat GitLab CE na server CentOS 8. Nainstalujeme GitLab CE pomocí balíčku 'omnibus' poskytovaného GitLab, provedeme základní konfiguraci GitLabu a otestujeme vytvoření nového projektu GitLab.
Předpoklad
Pro tuto příručku nainstalujeme GitLab CE na nejnovější verzi CentOS 8 Server se 4 GB RAM, 30 GB volného místa na disku a 2 CPU.
Co budeme dělat?
- Instalujte závislosti balíčků
- Přidat úložiště a nainstalovat GitLab CE (Community Edition)
- Vygenerujte SSL Letsencrypt a certifikát DHPARAM
- Povolte Nginx HTTPS pro GitLab
- Nakonfigurujte bránu firewall
- Příspěvková instalace GitLab
- Testování
Krok 1 – Instalace závislostí balíčků
Nejprve nainstalujeme některé závislosti balíčků, které GitLab potřebuje, včetně balíčků OpenSSH a Postfixu.
Nainstalujte závislosti balíčků pro GitLab CE pomocí příkazu dnf níže.
sudo dnf -y install curl policycoreutils openssh-server openssh-clients postfix
Po dokončení instalace spusťte služby SSH a Postfix.
systemctl start sshd
systemctl start postfix
Dále přidejte obě služby do spouštění systému.
systemctl enable sshd
systemctl enable postfix
V důsledku toho byla instalace závislostí balíčků dokončena.
Krok 2 – Přidání úložiště a instalace GitLab
V tomto kroku přidáme oficiální úložiště GitLab do našeho systému CentOS 8 a nainstalujeme balíčky GitLab CE.
Přidejte úložiště GitLab pomocí instalačního skriptu níže.
curl -s https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
Jakmile je vše dokončeno, níže je výsledek, který dostanete.
Generating yum cache for gitlab_gitlab-ce...
Importing GPG key 0x51312F3F:
Userid : "GitLab B.V. (package repository signing key) <[email protected]>"
Fingerprint: F640 3F65 44A3 8863 DAA0 B6E0 3F01 618A 5131 2F3F
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
Importing GPG key 0xF27EAB47:
Userid : "GitLab, Inc. <[email protected]>"
Fingerprint: DBEF 8977 4DDB 9EB3 7D9F C3A0 3CFC F9BA F27E AB47
From : https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
Generating yum cache for gitlab_gitlab-ce-source...
The repository is setup! You can now install packages.
Chcete-li ověřit úložiště GitLab, spusťte níže uvedený příkaz dnf.
sudo dnf repolist
A získáte úložiště GitLab na seznamu.
Dále nainstalujte balíčky GitLab CE pomocí příkazu
sudo dnf install gitlab-ce -y
Po dokončení celé instalace získáte výsledek, jak je uvedeno níže.
Výsledkem je, že GitLab CE Community Edition je nyní nainstalována v systému CentOS 8.
Krok 3 – Vygenerování SSL Letsencrypt a DHPARAM
V tomto tutoriálu spustíme GitLab na zabezpečeném připojení HTTPS a budeme používat SSL Letsencrypt od Letsencrypt a DHAPRAM, které lze vygenerovat pomocí příkazu openssl.
V tomto kroku vygenerujeme SSL Letsencrypt pomocí nástroje příkazového řádku certbot, který lze nainstalovat z úložiště EPEL, a poté vygenerujeme certifikát DHPARAM pomocí openssl.
Přidejte úložiště EPEL do systému CentOS 8 pomocí příkazu níže.
sudo dnf install epel-release
Dále nainstalujte balíčky certbot pomocí příkazu dnf níže.
sudo dnf install certbot
Po dokončení instalace vygenerujte SSL Letsencryp 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
Nyní budou vaše certifikáty SSL dostupné v adresáři '/etc/letsencrypt/live/gitlab.hakase-labs.io', zkontrolujte pomocí následujícího příkazu.
ls -lah /etc/letsencrypt/live/gitlab.hakase-labs.io/
Získáte certifikáty 'fullchain.pem' a 'privkey.pem'.
Dále vygenerujte certifikát DHPARAM do adresáře '/etc/gitlab' pomocí příkazu openssl níže.
sudo openssl dhparam -out /etc/gitlab/dhparams.pem 2048
Jakmile je vše hotovo, změňte oprávnění certifikátu 'dhparam.pem' na '0600'.
sudo chmod 600 /etc/gitlab/dhparams.pem
V důsledku toho byly vygenerovány certifikáty SSL Letsencrypt a DHPARAM pro GitLab.
Krok 4 – Nastavení názvu domény Povolení Nginx HTTPS pro GitLab
V tomto kroku nastavíme název domény a povolíme zabezpečené připojení Nginx HTTPS pro GitLab.
Přejděte do adresáře '/etc/gitlab' a upravte konfiguraci 'gitlab.rb'.
cd /etc/gitlab/
vim gitlab.rb
Na řádku 'external_url' změňte výchozí název domény svým vlastním a změňte protokol http na https, jak je uvedeno níže.
external_url 'https://gitlab.hakase-labs.io'
Dále přidejte následující konfiguraci za řádek 'external_url' a nezapomeňte změnit certifikát SSL a DHPARAM na svůj vlastní.
nginx['redirect_http_to_https'] = true
nginx['ssl_certificate'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/fullchain.pem"
nginx['ssl_certificate_key'] = "/etc/letsencrypt/live/gitlab.hakase-labs.io/privkey.pem"
nginx['ssl_dhparam'] = "/etc/gitlab/dhparams.pem"
Uložit a zavřít.
Poté spusťte následující příkaz, abyste překonfigurovali GitLab a aplikovali novou konfiguraci.
sudo gitlab-ctl reconfigure
Příkaz vyvolá skript Chef, který poháněl Omnibus GitLab, aby překonfiguroval vaši instalaci GitLab.
Jakmile je vše hotovo, přejděte k dalšímu kroku.
Krok 5 – Konfigurace brány firewall
Po povolení HTTPS na GitLab přidáme služby HTTP a HTTPS na firewall.
Spusťte níže uvedený příkaz firewall-cmd.
firewall-cmd --add-service=ssh --permanent
firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
Poté znovu načtěte službu firewall a použijte novou konfiguraci.
firewall-cmd --reload
Nyní zkontrolujte všechny služby na firewallu pomocí příkazu níže.
firewall-cmd --list-services
Nyní získáte služby SSH, HTTP a HTTPS na seznamu.
Výsledkem je, že jste do firewallu přidali služby HTTP a HTTPS a GitLab je nyní připraven a přístupný.
Krok 6 – Instalace GitLab
Otevřete webový prohlížeč a do adresního řádku zadejte instalaci názvu vaší domény GitLab. Moje je: https://gitlab.hakase-labs.io/, použijte svou adresu.
A budete přesměrováni na stránku pro obnovení hesla.
- GitLab Obnovit výchozí heslo
Zadejte nové heslo pro výchozího uživatele GitLab 'root '.
Nyní klikněte na 'Změnit heslo ' a budete přesměrováni na přihlašovací stránku GitLab.
Zadejte výchozího uživatele 'root “ a své heslo a poté klikněte na tlačítko „Přihlásit se ' a získáte řídicí panel GitLab, jak je uvedeno níže.
Změnit profil a uživatelské jméno
Po přihlášení do GitLab Dashboard změňte výchozí 'root ' uživatel s vlastním.
Chcete-li změnit nastavení svého profilu, klikněte v pravém horním rohu svého profilu ikony a klikněte na 'Nastavení ' pro nastavení svého profilu.
Nyní zadejte své nové uživatelské jméno a e-mailovou adresu, poté přejděte na spodní stránku a klikněte na 'aktualizovat nastavení profilu '.
Dále klikněte na 'Účet ', změňte výchozí uživatelské jméno 'root ' s vlastním a poté klikněte na 'aktualizovat uživatelské jméno '.
V důsledku toho byly změněny výchozí uživatelské jméno a e-mailová adresa pro uživatele root.
Přidat klíč SSH
Nyní přidáme klíč SSH do GitLabu. Ujistěte se, že máte klíč SSH, a pokud ne, můžete klíč SSH vygenerovat pomocí následujícího příkazu.
ssh-keygen
Nyní si necháte vygenerovat svůj SSH klíč na '~/.ssh ' v domovském adresáři uživatele.
Dále se vraťte na řídicí panel GitLab a klikněte na nabídku karty 'SSH Keys'.
Zkopírujte obsah svého veřejného klíče SSH '~/.ssh/id_rsa.pub “ a vložte na stránku GitLab, poté klikněte na „Přidat klíč '.
V důsledku toho byl do GitLabu přidán klíč SSH.
Nastavit limit projektu na účet
V horní prostřední nabídce klikněte na 'Nastavení '.
Nyní klikněte na „Nastavení“> „Obecné ', v části 'Účet a limit' klikněte na 'Rozbalit '.
Změňte "Výchozí limit projektů “ podle potřeby a klikněte na tlačítko 'Uložit '.
V důsledku toho se změnil výchozí limit projektu pro každý účet.
Krok 7 – Vytvoření nového projektu a závazek
V tomto kroku otestujeme naši instalaci GitLab vytvořením nového projektu GitLab.
Vytvořit nový projekt GitLab
Chcete-li vytvořit nový projekt na GitLab, klikněte na '+ ' plug button v nabídce vpravo nahoře.
Nyní zadejte podrobnosti o svém názvu projektu, projektu a popisu a poté klikněte na 'Vytvořit projekt '.
A byl vytvořen nový projekt GitLab.
Nastavte GitLab na svém notebooku
Po vytvoření nového projektu na GitLab nastavíme účet GitLab na místním počítači.
Otevřete svůj terminál a spusťte následující příkaz git pro nastavení výchozího uživatele a e-mailové adresy pro git.
git config --global user.name "hakase"
git config --global user.email "[email protected]"
Dále naklonujte svůj projekt GitLab do adresáře místního počítače a přejděte do něj.
git clone https://gitlab.hakase-labs.io/hakase/test-project.git
cd test-project/
V důsledku toho byl nakonfigurován výchozí uživatel a e-mail pro Git a projekt GitLab byl naklonován do místního počítače.
Proveďte změnu a potvrďte ji
Nyní máme projekt GitLab na našem místním počítači a otestujeme změnu souboru 'README.md' a provedeme první potvrzení našeho projektu GitLab.
Upravte soubor 'README.md' pomocí svého editoru.
vim README.md
Nyní proveďte změnu v souboru, poté jej uložte a zavřete.
Poté přidejte novou verzi souboru 'README.md' a potvrďte' pomocí příkazu níže.
git add .
git commit -m "Change README.md"
Nyní vložte nové změny do úložiště GitLab pomocí příkazu git push níže.
git push origin master
Nové změny souboru 'README.md' byly přeneseny do úložiště GitLab.
Dále se vraťte do svého úložiště GitLab ve webovém prohlížeči a získáte novou verzi souboru 'README.md' s komentářem k odevzdání nahoře.
Výsledkem je, že jsme úspěšně vytvořili nový projekt GitLab a provedli v něm změny.
Nakonec byla instalace a konfigurace GitLab na CentOS 8 Server úspěšně dokončena.