Jak zainstalować GitLab na Ubuntu: Kompletny przewodnik krok po kroku
GitLab to jedna z najpotężniejszych dostępnych dzisiaj otwartych platform DevOps, oferująca kompleksowy zestaw narzędzi, w tym kontrolę wersji opartą na Gicie, 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 GitLaba 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 po włączenie HTTPS i zarządzanie 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 twojego serwera (opcjonalnie, ale zdecydowanie zalecane dla HTTPS)
- Porty 80 i 443 otwarte w twojej zaporze sieciowej
> Porada: Aby uzyskać najlepszą wydajność GitLaba, 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 aktualne. Zapobiega to konfliktom zależności i zapewnia pracę z najnowszymi łatkami bezpieczeństwa.
sudo apt update && sudo apt upgrade -yPoczekaj na zakończenie procesu aktualizacji przed przejściem do następnego kroku.
Krok 2: Instalacja wymaganych zależności
GitLab wymaga kilku pakietów pomocniczych do prawidłowego działania, w tym narzędzi do bezpiecznej komunikacji, zarządzania strefą czasową i skryptowania. Zainstaluj je za pomocą następującego polecenia:
sudo apt install -y curl openssh-server ca-certificates tzdata perlOto co robi każdy pakiet:
| Pakiet | Cel |
|---|---|
curl | Pobiera skrypty i pliki z sieci web |
openssh-server | Umożliwia dostęp SSH do twojego serwera |
ca-certificates | Weryfikuje certyfikaty SSL/TLS |
tzdata | Dostarcza dane strefy czasowej |
perl | Wymagane dla wewnętrznych skryptów GitLaba |
Krok 3: Dodaj oficjalne repozytorium GitLaba
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 bashTen skrypt automatycznie:
- Wykrywa twoją wersję Ubuntu
- Dodaje repozytorium pakietów GitLaba do źródeł APT
- Importuje klucz podpisywania GPG repozytorium w celu weryfikacji pakietów
Po zakończeniu skryptu twój system jest gotowy do zainstalowania GitLaba bezpośrednio z oficjalnego źródła.
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 GitLaba.
Jeśli masz nazwę domeny:
sudo EXTERNAL_URL="https://gitlab.yourdomain.com" apt install gitlab-ceJeśli używasz adresu IP (np. dla serwera lokalnego lub prywatnego):
sudo EXTERNAL_URL="http://YOUR_SERVER_IP" apt install gitlab-ceZastą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 GitLaba, w tym PostgreSQL, Redis, NGINX i Sidekiq.
Podczas instalacji GitLab będzie:
- Instalować wszystkie usługi w pakiecie (baza danych, pamięć podręczna, serwer sieciowy itp.)
- Konfigurować się na podstawie
EXTERNAL_URL, który podałeś - Generować początkowe pliki konfiguracyjne w
/etc/gitlab/
Krok 5: Uruchom ponowną konfigurację GitLaba
Po instalacji uruchom polecenie ponownej konfiguracji, aby sfinalizować konfigurację, zainicjować bazę danych i uruchomić wszystkie usługi GitLaba:
sudo gitlab-ctl reconfigureTo 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 GitLaba w przeglądarce internetowej
Po zakończeniu ponownej konfiguracji otwórz przeglądarkę internetową i przejdź do adresu URL, który podałeś podczas instalacji:
https://gitlab.yourdomain.comlub
http://YOUR_SERVER_IPLogowanie po raz pierwszy
Przy pierwszej wizycie GitLab poprosi cię o ustawienie hasła administratora. Po jego ustawieniu zaloguj się, używając następujących poświadczeń:
- Nazwa użytkownika:
root - Hasło: Hasło, które właśnie utworzyłeś
> Porada bezpieczeństwa: Zmień poświadczenia domyślnego konta root natychmiast po pierwszym logowaniu. Utwórz osobiste konto administratora i ogranicz konto root wyłącznie do użytku w nagłych wypadkach.
Krok 7: Konfiguracja powiadomień e-mail GitLaba (opcjonalnie)
Wysyłanie powiadomień e-mail jest niezbędne dla produkcyjnej instancji GitLaba — 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 GitLaba:
sudo nano /etc/gitlab/gitlab.rbDodaj 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'] = trueZapisz 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 stabilny przekaźnik SMTP z wysoką dostarczalnością.
Krok 8: Włącz HTTPS za pomocą Let’s Encrypt (zalecane)
Uruchamianie GitLaba przez HTTPS jest zdecydowanie zalecane 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 GitLaba:
sudo nano /etc/gitlab/gitlab.rbDodaj 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 ponownie skonfiguruj GitLab:
sudo gitlab-ctl reconfigureGitLab 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 samodzielnie zarządzać certyfikatami SSL lub potrzebujesz certyfikatów wieloznacznych/wielodomenowych, AlexHost oferuje szereg Certyfikatów SSL, które można ręcznie skonfigurować w ustawieniach NGINX GitLaba.
Krok 9: Zarządzanie usługami GitLaba
GitLab zawiera własne narzędzie do zarządzania usługami zwane gitlab-ctl. Użyj następujących poleceń do kontrolowania usług GitLaba:
Uruchom GitLab
sudo gitlab-ctl startZatrzymaj GitLab
sudo gitlab-ctl stopUruchom ponownie GitLab
sudo gitlab-ctl restartSprawdź stan usługi
sudo gitlab-ctl statusWyświetl dzienniki w czasie rzeczywistym
sudo gitlab-ctl tailWyświetl dzienniki dla określonej usługi (np. NGINX)
sudo gitlab-ctl tail nginxTe polecenia są nieocenione do rozwiązywania problemów i rutynowej konserwacji. Polecenie status wyświetli stan wszystkich podusług GitLaba, w tym PostgreSQL, Redis, Sidekiq, Puma (serwer sieciowy) i NGINX.
Krok 10: Początkowa konfiguracja GitLaba dla twojej organizacji
Po zainstalowaniu i uruchomieniu GitLaba czas skonfigurować go dla potrzeb twojego zespołu. Oto kluczowe obszary do skonfigurowania za pośrednictwem interfejsu sieciowego GitLaba:
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 trackerami problemów, wiki i potokami CI/CD
Potoki CI/CD
Wbudowany CI/CD GitLaba 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 pracy przeglądu kodu w sekcji Settings → Repository każdego projektu.
Konfiguracja kopii zapasowej
Skonfiguruj automatyczne kopie
