15%

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
31.10.2024
1 +1

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 -y

Poczekaj 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 perl

Oto co robi każdy pakiet:

PakietCel
curlPobiera skrypty i pliki z sieci web
openssh-serverUmożliwia dostęp SSH do twojego serwera
ca-certificatesWeryfikuje certyfikaty SSL/TLS
tzdataDostarcza dane strefy czasowej
perlWymagane 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 bash

Ten 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-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 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 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 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.com

lub

http://YOUR_SERVER_IP

Logowanie 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.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 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.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 ponownie skonfiguruj 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 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 start

Zatrzymaj GitLab

sudo gitlab-ctl stop

Uruchom ponownie GitLab

sudo gitlab-ctl restart

Sprawdź stan usługi

sudo gitlab-ctl status

Wyświetl dzienniki w czasie rzeczywistym

sudo gitlab-ctl tail

Wyświetl dzienniki dla określonej 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 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

15%

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