Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu: Skills Rozpocznij
Sekcja
Administracja Linux

Jak zainstalować GitLab na Ubuntu: Kompletny przewodnik krok po kroku

GitLab to jedna z najpotężniejszych dostępnych dziś platform DevOps o otwartym kodzie źródłowym, oferująca kompleksowy zestaw narzędzi obejmujący kontrolę wersji opartą na Git, potoki ciągłej integracji/ciągłego wdrażania (CI/CD), śledzenie problemów i funkcje współpracy zespołowej — wszystko w jednym miejscu. Niezależnie od tego, czy zarządzasz małym zespołem programistów, czy prowadzisz projekty oprogramowania na skalę przedsiębiorstwa, samodzielne hostowanie GitLab na Ubuntu daje ci pełną kontrolę nad danymi, przepływami pracy i infrastrukturą.

Ten przewodnik przeprowadzi cię przez każdy etap instalacji i konfiguracji GitLab Community Edition (CE) na serwerze Ubuntu, od przygotowania systemu do włączenia HTTPS i zarządzania usługami.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że masz następujące elementy:

  • Serwer z systemem Ubuntu 20.04 lub 22.04 LTS (zalecana świeża instalacja)
  • Minimum 4 GB RAM i 2 rdzenie CPU (GitLab zaleca co najmniej 4 rdzenie do użytku produkcyjnego)
  • Dostęp root lub sudo do serwera
  • Zarejestrowana nazwa domeny wskazująca na adres IP serwera (opcjonalnie, ale zdecydowanie zalecane dla HTTPS)
  • Porty 80 i 443 otwarte w zaporze

> Wskazówka: Aby uzyskać najlepszą wydajność GitLab, rozważ wdrożenie na planie VPS Hosting z wystarczającą ilością RAM i zasobów CPU. Plany VPS AlexHost są zoptymalizowane dla obciążeń Linux i zawierają pełny dostęp root, co czyni je idealnym środowiskiem dla samodzielnie hostowanych platform DevOps, takich jak GitLab.

Krok 1: Aktualizacja pakietów systemowych

Przed zainstalowaniem jakiegokolwiek oprogramowania, krytyczne jest upewnienie się, że indeks pakietów systemu i zainstalowane pakiety są w pełni zaktualizowane. Zapobiega to konfliktom zależności i zapewnia pracę z najnowszymi poprawkami bezpieczeństwa.

sudo apt update && sudo apt upgrade -y

Poczekaj na zakończenie procesu aktualizacji przed przejściem do następnego kroku.

Krok 2: Zainstaluj wymagane zależności

GitLab wymaga kilku pakietów pomocniczych do prawidłowego funkcjonowania, w tym narzędzi do bezpiecznej komunikacji, zarządzania strefą czasową i tworzenia skryptów. Zainstaluj je za pomocą następującego polecenia:

sudo apt install -y curl openssh-server ca-certificates tzdata perl

Oto co robi każdy pakiet:

PakietPrzeznaczenie
curlPobiera skrypty i pliki z sieci
openssh-serverUmożliwia dostęp SSH do serwera
ca-certificatesWeryfikuje certyfikaty SSL/TLS
tzdataDostarcza dane strefy czasowej
perlWymagane dla wewnętrznych skryptów GitLab

Krok 3: Dodaj oficjalne repozytorium GitLab

GitLab utrzymuje oficjalne repozytorium pakietów, które ułatwia instalację i przyszłe aktualizacje. Użyj następującego polecenia, aby pobrać i wykonać skrypt konfiguracji repozytorium:

curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.deb.sh | sudo bash

Ten skrypt automatycznie:

  • Wykrywa wersję Ubuntu
  • Dodaje repozytorium pakietów GitLab do źródeł APT
  • Importuje klucz podpisywania GPG repozytorium w celu weryfikacji pakietów

Po zakończeniu skryptu system jest gotowy do zainstalowania GitLab bezpośrednio ze źródła oficjalnego.

Krok 4: Instalacja GitLab Community Edition

Teraz zainstaluj GitLab CE za pomocą menedżera pakietów apt. Musisz ustawić zmienną środowiskową EXTERNAL_URL na adres URL lub adres IP, przez który użytkownicy będą uzyskiwać dostęp do Twojej instancji GitLab.

Jeśli masz nazwę domeny:

sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ce

Jeśli używasz adresu IP (np. dla serwera lokalnego lub prywatnego):

sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ce

Zastąp gitlab.yourdomain.com lub YOUR_SERVER_IP swoją rzeczywistą domeną lub adresem IP.

> Uwaga: Proces instalacji może potrwać kilka minut, ponieważ pobiera i konfiguruje wszystkie komponenty GitLab, w tym PostgreSQL, Redis, NGINX i Sidekiq.

Podczas instalacji GitLab będzie:

  • Instalować wszystkie usługi w pakiecie (bazę danych, pamięć podręczną, serwer WWW itp.)
  • Konfigurować się na podstawie EXTERNAL_URL który podałeś
  • Generować początkowe pliki konfiguracyjne w /etc/gitlab/

Krok 5: Uruchomienie ponownej konfiguracji GitLab

Po instalacji uruchom polecenie ponownej konfiguracji, aby sfinalizować konfigurację, zainicjować bazę danych i uruchomić wszystkie usługi GitLab:

sudo gitlab-ctl reconfigure

To polecenie odczytuje konfigurację z /etc/gitlab/gitlab.rb i stosuje wszystkie ustawienia. Generuje również certyfikaty SSL (jeśli skonfigurowano Let’s Encrypt), konfiguruje schemat bazy danych i uruchamia wszystkie wymagane usługi w tle.

Powinieneś zobaczyć długie wyjście kończące się komunikatem podobnym do:

gitlab Reconfigured!

Krok 6: Dostęp do GitLab w przeglądarce internetowej

Po zakończeniu rekonfiguracji otwórz przeglądarkę internetową i przejdź do adresu URL, który podałeś podczas instalacji:

https://gitlab.yourdomain.com

lub

http://YOUR_SERVER_IP

Pierwsze logowanie

Przy pierwszej wizycie GitLab poprosi Cię o ustawienie hasła administratora. Po jego ustawieniu zaloguj się, używając następujących danych logowania:

  • Nazwa użytkownika: root
  • Hasło: Hasło, które właśnie utworzyłeś

> Wskazówka bezpieczeństwa: Zmień domyślne dane logowania konta root natychmiast po pierwszym logowaniu. Utwórz osobiste konto administratora i ogranicz konto root wyłącznie do użytku w sytuacjach awaryjnych.

Krok 7: Konfiguracja powiadomień e-mail GitLab (opcjonalnie)

Wysyłanie powiadomień e-mail jest niezbędne dla produkcyjnej instancji GitLab — umożliwia funkcje takie jak weryfikacja konta, aktualizacje żądań scalenia, alerty CI/CD i resetowanie hasła. Skonfiguruj ustawienia SMTP w głównym pliku konfiguracyjnym GitLab:

sudo nano /etc/gitlab/gitlab.rb

Dodaj lub zmodyfikuj następujący blok konfiguracji SMTP:

gitlab_rails['smtp_enable'] = true
gitlab_rails['smtp_address'] = "smtp.yourmailprovider.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "your_email@yourdomain.com"
gitlab_rails['smtp_password'] = "your_email_password"
gitlab_rails['smtp_domain'] = "yourdomain.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Zapisz plik i zastosuj zmiany:

sudo gitlab-ctl reconfigure

> Szukasz niezawodnej infrastruktury e-mail? AlexHost oferuje profesjonalne usługi Email Hosting, które bezproblemowo integrują się z samodzielnie hostowanymi aplikacjami takimi jak GitLab, zapewniając stabilne przekierowanie SMTP z wysoką dostarczalnością.

Krok 8: Włączenie HTTPS za pomocą Let’s Encrypt (Rekomendowane)

Uruchamianie GitLab przez HTTPS jest zdecydowanie rekomendowane dla każdego środowiska produkcyjnego lub zespołowego. GitLab ma wbudowaną obsługę Let’s Encrypt, bezpłatnego i zautomatyzowanego urzędu certyfikacji SSL.

> Ważne: Let’s Encrypt wymaga, aby Twoja nazwa domeny była publicznie dostępna i aby port 80 był otwarty na Twoim serwerze. Nie będzie działać z surowymi adresami IP.

Otwórz plik konfiguracyjny GitLab:

sudo nano /etc/gitlab/gitlab.rb

Dodaj następującą konfigurację:

letsencrypt['enable'] = true
letsencrypt['contact_emails'] = ['your_admin_email@yourdomain.com']
letsencrypt['auto_renew'] = true
letsencrypt['auto_renew_hour'] = 12
letsencrypt['auto_renew_minute'] = 30
letsencrypt['auto_renew_day_of_month'] = "*/7"

Zapisz plik i zmień konfigurację GitLab:

sudo gitlab-ctl reconfigure

GitLab automatycznie uzyska i zainstaluje Twój certyfikat SSL, a ustawienie auto_renew zapewnia jego odnowienie przed wygaśnięciem bez żadnej ręcznej interwencji.

> Alternatywa: Jeśli wolisz zarządzać certyfikatami SSL niezależnie lub potrzebujesz certyfikatów wieloznacznych/wielodomenowych, AlexHost oferuje szereg Certyfikatów SSL, które można ręcznie skonfigurować w ustawieniach NGINX GitLab.

Krok 9: Zarządzanie usługami GitLab

GitLab zawiera własne narzędzie do zarządzania usługami zwane gitlab-ctl. Użyj następujących poleceń do kontrolowania usług GitLab:

Uruchomienie GitLab

sudo gitlab-ctl start

Zatrzymanie GitLab

sudo gitlab-ctl stop

Ponowne uruchomienie GitLab

sudo gitlab-ctl restart

Sprawdzenie stanu usługi

sudo gitlab-ctl status

Wyświetlanie dzienników w czasie rzeczywistym

sudo gitlab-ctl tail

Wyświetlanie dzienników dla konkretnej usługi (np. NGINX)

sudo gitlab-ctl tail nginx

Te polecenia są nieocenione do rozwiązywania problemów i rutynowej konserwacji. Polecenie status wyświetli stan wszystkich podusług GitLab, w tym PostgreSQL, Redis, Sidekiq, Puma (serwer WWW) i NGINX.

Krok 10: Wstępna konfiguracja GitLab dla Twojej organizacji

Po zainstalowaniu i uruchomieniu GitLab, czas skonfigurować go zgodnie z potrzebami Twojego zespołu. Oto kluczowe obszary do skonfigurowania za pośrednictwem interfejsu sieciowego GitLab:

Zarządzanie użytkownikami

Przejdź do Admin Area → Users, aby utworzyć konta użytkowników dla członków Twojego zespołu. Możesz skonfigurować metody uwierzytelniania, w tym LDAP, OAuth i SAML do logowania jednokrotnego w przedsiębiorstwie.

Grupy i projekty

  • Grupy pozwalają organizować powiązane projekty i zarządzać uprawnieniami na dużą skalę
  • Projekty to poszczególne repozytoria z własnymi systemami śledzenia problemów, wiki i potokami CI/CD

Potoki CI/CD

Wbudowany CI/CD GitLab to jedna z jego najpotężniejszych funkcji. Utwórz plik .gitlab-ci.yml w katalogu głównym repozytorium, aby zdefiniować zautomatyzowane potoki budowania, testowania i wdrażania.

Ustawienia repozytorium

Skonfiguruj reguły ochrony gałęzi, zatwierdzenia żądań scalenia i przepływy przeglądów kodu w sekcji Settings → Repository każdego projektu.

Konfiguracja kopii zapasowych

Skonfiguruj automatyczne kopie zapasowe, konfigurując następujące elementy w /etc/gitlab/gitlab.rb:

gitlab_rails['backup_path'] = "/var/opt/gitlab/backups"
gitlab_rails['backup_keep_time'] = 604800  # Keep backups for 7 days

Uruchom ręczną kopię zapasową w dowolnym momencie za pomocą:

sudo gitlab-backup create

Konfiguracja Firewall

Jeśli masz włączoną UFW (Uncomplicated Firewall) na swoim serwerze Ubuntu, upewnij się, że zezwalasz na ruch HTTP i HTTPS:

sudo ufw allow http
sudo ufw allow https
sudo ufw allow OpenSSH
sudo ufw enable
sudo ufw status

Rozwiązywanie typowych problemów

ProblemRozwiązanie
GitLab niedostępny po instalacjiSprawdź reguły zapory; zweryfikuj EXTERNAL_URL w /etc/gitlab/gitlab.rb
Błąd 502 Bad GatewayUruchom sudo gitlab-ctl restart; sprawdź logi za pomocą sudo gitlab-ctl tail
Błąd certyfikatu Let's EncryptUpewnij się, że port 80 jest otwarty i DNS domeny jest prawidłowo skonfigurowany
Wysokie zużycie pamięciZmniejsz pracowników Puma w gitlab.rb: puma['worker_processes'] = 2
Powiadomienia e-mail nie są wysyłaneZweryfikuj poświadczenia SMTP i uruchom sudo gitlab-rails console do testowania

Podsumowanie

Instalacja GitLab na Ubuntu to prosty proces, który dostarcza platformę DevOps klasy korporacyjnej pod pełną kontrolą. Postępując zgodnie z tym przewodnikiem, skonfigurowałeś w pełni funkcjonalną instancję GitLab z szyfrowaniem HTTPS, powiadomieniami e-mail i odpowiednim zarządzaniem usługami — gotową do rzeczywistych przepływów pracy programistów.

Samodzielne hostowanie GitLab daje Twojemu zespołowi swobodę dostosowywania przepływów pracy, utrzymania suwerenności danych i integracji z istniejącą infrastrukturą bez powtarzających się kosztów subskrypcji SaaS. Kluczem do płynnego doświadczenia z GitLab jest rozpoczęcie od niezawodnego, wysokowydajnego serwera.

Dla zespołów, które potrzebują solidnej podstawy dla GitLab, Serwery Dedykowane AlexHost oferują maksymalną wydajność i izolację, podczas gdy plany Hosting VPS zapewniają opłacalną i skalowalną alternatywę dla mniejszych zespołów i rozwijających się projektów. Obie opcje obejmują pełny dostęp root, magazyn SSD i wsparcie techniczne 24/7 — wszystko, czego potrzebujesz, aby uruchamiać GitLab z pewnością.