Jak zainstalować GitLab na Debianie 12 lub 11

GitLab to kompleksowa platforma DevOps, która zapewnia szeroką gamę funkcji do kontroli wersji, ciągłej integracji, wdrażania i zarządzania projektami. Integruje różne etapy cyklu życia DevOps w jedną aplikację, umożliwiając zespołom współpracę i wydajną pracę. GitLab Community Edition (CE) to wersja GitLab o otwartym kodzie źródłowym, oferująca potężne narzędzia do zarządzania repozytoriami, śledzenia problemów i automatyzacji potoków CI/CD.

Aby zainstalować GitLab CE na Debian 12 lub 11, możesz użyć oficjalnego skryptu powłoki GitLab, aby skonfigurować repozytorium APT GitLab CE, a następnie zainstalować i skonfigurować oprogramowanie. Ten przewodnik przeprowadzi Cię przez cały proces, zapewniając solidną konfigurację GitLab w systemie Debian.

Zaktualizuj Debiana przed instalacją Gitlab

Aktualizowanie systemu operacyjnego Debian ma kluczowe znaczenie dla utrzymania jego stabilności i bezpieczeństwa. Aby mieć pewność, że wszystkie istniejące pakiety w systemie Debian są aktualne, zaleca się wykonanie aktualizacji w celu dostarczenia najnowszych aktualizacji zabezpieczeń i poprawek błędów, zapewniając stabilność i niezawodność systemu.

Możesz łatwo zaktualizować swój system operacyjny Debian, uruchamiając następujące polecenie:

sudo apt update && sudo apt upgrade 

Zainstaluj wymagane pakiety dla GitLab

Zapewnienie zainstalowania wszystkich zależności dla GitLab jest krytycznym krokiem w procesie instalacji. Zależności te są niezbędnymi komponentami, na których GitLab polega, aby działać poprawnie. Na szczęście instalacja tych zależności jest prostym procesem.

Możesz je łatwo zainstalować, otwierając terminal i uruchamiając następujące polecenie:

sudo apt install curl ca-certificates apt-transport-https tzdata perl

Importuj repozytorium GitLab CE APT

Domyślnie GitLab nie jest dostępny w domyślnych repozytoriach Debiana. Oznacza to, że musisz ręcznie utworzyć repozytorium, aby zainstalować GitLab. Jednak GitLab udostępnia skrypt APT, który pomaga w tym procesie, ułatwiając użytkownikom instalację platformy. Za pomocą tego skryptu możesz utworzyć repozytorium GitLab, które umożliwi instalację GitLaba przy użyciu standardowego menedżera pakietów APT.

Aby pobrać skrypt, wpisz w terminalu następującą komendę:

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

Po wykonaniu tego polecenia skrypt pobierze i doda repozytorium GitLab do twojego systemu Debian. Zaktualizuje także listę pakietów, umożliwiając instalację GitLaba przy użyciu standardowego menedżera pakietów APT.

Zakończ instalację GitLab za pomocą polecenia APT

Następnym krokiem jest instalacja GitLaba. Pamiętaj, że skrypt użył już polecenia „apt update” do synchronizacji nowo utworzonego i zmodyfikowanego repozytorium. Po wykonaniu tej czynności możesz teraz przystąpić do wykonania polecenia instalacyjnego, uruchamiając następujące polecenie:

sudo apt install gitlab-ce

To polecenie zainstaluje GitLab Community Edition (CE), bezpłatną wersję GitLab o otwartym kodzie źródłowym. Proces instalacji może zająć trochę czasu, w zależności od szybkości Internetu i specyfikacji systemu.

Przykładowe wyjście, jeśli instalacja GitLab przebiegła pomyślnie na Debianie:

Skonfiguruj GitLaba

Aby skonfigurować GitLab na Debianie, należy dokładnie wykonać kilka kroków. W tej sekcji opisano krok po kroku proces, w tym konfigurowanie nazwy hosta, konfigurowanie zapory ogniowej i konfigurowanie ustawień poczty e-mail.

Skonfiguruj nazwę hosta

Aby uzyskać dostęp do instancji GitLab, ważne jest skonfigurowanie nazwy hosta dla serwera GitLab, więc wybierz nazwę łatwą do zapamiętania i łatwo dostępną. Wykonaj poniższe kroki, aby skonfigurować nazwę hosta:

Otwórz plik konfiguracyjny GitLab za pomocą edytora tekstu:

sudo nano /etc/gitlab/gitlab.rb

Znajdź ustawienie external_url i zastąp przykładowy adres URL żądaną nazwą hosta:

external_url 'https://gitlab.example.com'

Zapisz plik i wyjdź z edytora tekstu.

Teraz ponownie skonfiguruj GitLab, aby zastosować zmiany:

sudo gitlab-ctl reconfigure

Skonfiguruj zaporę UFW dla Gitlab

GitLab domyślnie używa portu 80 dla HTTP i portu 443 dla HTTPS. Bardzo ważne jest skonfigurowanie zapory ogniowej tak, aby zezwalała na ruch na tych portach i upewnienie się, że instancja GitLab jest dostępna.

Wykonaj poniższe kroki, aby skonfigurować zaporę:

Najpierw zainstaluj zaporę UFW, ponieważ nie jest ona domyślnie instalowana w Debianie, za pomocą następującego polecenia:

sudo apt install ufw

Następnie po zakończeniu instalacji włącz zaporę UFW za pomocą następującego polecenia:

sudo ufw enable

Otwórz plik konfiguracyjny zapory sieciowej za pomocą edytora tekstu:

sudo nano /etc/ufw/applications.d/gitlab

Skopiuj i wklej następujące wiersze do pliku:

[GitLab]
title=GitLab
description=GitLab application
ports=80,443/tcp

Zapisz plik i wyjdź z edytora tekstu.

Włącz aplikację GitLab w zaporze sieciowej:

sudo ufw app update GitLab
sudo ufw allow GitLab

Skonfiguruj ustawienia poczty e-mail

GitLab używa powiadomień e-mail, aby informować użytkowników o działaniach w projekcie, takich jak nowe problemy, prośby o połączenie i komentarze.

Wykonaj poniższe kroki, aby skonfigurować ustawienia poczty e-mail:

Otwórz plik konfiguracyjny GitLab za pomocą edytora tekstu:

sudo nano /etc/gitlab/gitlab.rb

Znajdź ustawienie gitlab_rails['smtp_enable'] i ustaw je na true:

gitlab_rails['smtp_enable'] = true

Dodaj następujące wiersze do pliku, aby skonfigurować ustawienia serwera SMTP dla Twojego dostawcy poczty e-mail, takiego jak Gmail:

gitlab_rails['smtp_address'] = "smtp.gmail.com"
gitlab_rails['smtp_port'] = 587
gitlab_rails['smtp_user_name'] = "example@gmail.com"
gitlab_rails['smtp_password'] = "your_password"
gitlab_rails['smtp_domain'] = "smtp.gmail.com"
gitlab_rails['smtp_authentication'] = "login"
gitlab_rails['smtp_enable_starttls_auto'] = true

Zapisz plik i wyjdź z edytora tekstu.

Skonfiguruj ponownie GitLab, aby zastosować zmiany:

sudo gitlab-ctl reconfigure

Należy zauważyć, że po wykonaniu polecenia „gitlab-ctl reconfigure” można zauważyć, że dane wyjściowe terminala kończą się następującym komunikatem:

Notes:
Default admin account has been configured with following details:
Username: root
Password: You didn't opt-in to print initial root password to STDOUT.
Password stored to /etc/gitlab/initial_root_password. This file will be cleaned up in first reconfigure run after 24 hours.

Aby wyświetlić hasło roota (GitLab), wykonaj w terminalu następujące polecenie:

sudo cat /etc/gitlab/initial_root_password

Wykonanie tego polecenia wyświetli hasło roota w terminalu. Ważne jest, aby chronić to hasło i nie udostępniać go nieupoważnionym użytkownikom.

Jeśli chcesz zresetować hasło roota, możesz użyć następującego polecenia:

sudo gitlab-rake "gitlab:password:reset[root]"

Po wykonaniu tego polecenia hasło roota zostanie zresetowane do losowego ciągu wyświetlanego na wyjściu terminala. Należy pamiętać, że zresetowanie hasła roota unieważni wszystkie istniejące i osobiste tokeny dostępu, dlatego użytkownicy muszą utworzyć nowe po zresetowaniu hasła.

Ze względów bezpieczeństwa zaleca się zmianę hasła roota na silne i unikalne tak szybko, jak to możliwe po wstępnej konfiguracji i unikanie używania hasła domyślnego. Możesz zmienić hasło roota logując się do interfejsu internetowego GitLab, przechodząc do „Ustawienia użytkownika”> „Konto” i wybierając opcję „Zmień hasło”.

Uzyskaj dostęp do interfejsu użytkownika GitLab

Po zakończeniu konfiguracji backendu nadszedł czas na zalogowanie się i uzyskanie dostępu do GitLab. Aby to osiągnąć należy w pliku konfiguracyjnym otworzyć ścieżkę domeny przypisaną do GitLaba.

https://gitlab.example.com

Następnie zaloguj się do GitLab używając nazwy użytkownika „root” i hasła otrzymanego podczas instalacji. Jak wspomniano w wydruku hasła w poprzedniej sekcji, hasło przewodnika na obrazku brzmiało „4zB2mbBLCcRLRAkv3qHfmSZULJ/6ocJNe2XK8zNx9nU=”.

Pomyślnie zalogowałeś się jako konto root i dotarłeś do domyślnej strony docelowej.

Dodatkowe wskazówki

Poniżej znajduje się kilka zaleceń dotyczących zabezpieczania, dostosowywania lub inne ogólne wskazówki dotyczące pierwszego logowania się do interfejsu użytkownika GitLab:

  • Zmień domyślne hasło: Aby zwiększyć bezpieczeństwo instancji GitLab, kluczowa jest zmiana domyślnego hasła użytkownika root. Zaloguj się do GitLab przy użyciu domyślnej nazwy użytkownika i hasła, przejdź do „Ustawienia użytkownika”> „Hasło” i wprowadź nowe hasło.
  • Skonfiguruj uwierzytelnianie dwuskładnikowe (2FA): Dodanie do procesu logowania czynnika uwierzytelniającego, takiego jak kod wysłany na telefon lub wygenerowany przez aplikację, to dodatkowa warstwa bezpieczeństwa zapewniana przez 2FA. Aby włączyć 2FA w GitLab, przejdź do „Ustawienia użytkownika”> „Konto”> „Uwierzytelnianie dwuskładnikowe” i postępuj zgodnie z instrukcjami.
  • Utwórz projekt: Aby utworzyć nowy projekt w GitLabie, przejdź do strony „Projekty” i kliknij przycisk „Nowy projekt”. Możesz utworzyć pusty projekt lub zaimportować istniejący projekt z repozytorium Git.
  • Dostosuj interfejs użytkownika: GitLab umożliwia kilka opcji dostosowywania, takich jak zmiana motywu, dodanie niestandardowego logo i konfiguracja paska nawigacyjnego. Przejdź do „Obszar administracyjny”> „Ustawienia” i wybierz odpowiednie opcje, aby dostosować interfejs użytkownika.
  • Skonfiguruj kontrolę dostępu: Potężne funkcje kontroli dostępu GitLab pozwalają kontrolować, kto może uzyskać dostęp do Twoich projektów i co mogą zrobić. Przejdź do „Ustawienia projektu”> „Członkowie” i dodaj lub usuń członków z różnymi poziomami dostępu, aby skonfigurować kontrolę dostępu.
  • Użyj GitLaba CI/CD: Potężne możliwości CI/CD GitLaba automatyzują testowanie i wdrażanie Twojego kodu. Skonfiguruj potoki CI/CD, tworząc plik „.gitlab-ci.yml” w katalogu głównym projektu i definiując etapy i zadania potoku.
  • Skonfiguruj moduł uruchamiający GitLab: GitLab Runner to lekki agent, który uruchamia zadania CI/CD i wysyła wyniki z powrotem do GitLab. Postępuj zgodnie z instrukcjami zawartymi w dokumentacji GitLab, aby zainstalować i skonfigurować GitLab Runner w systemie Debian.
  • Utwórz kopię zapasową instancji GitLab: Regularnie twórz kopie zapasowe instancji GitLab, aby zapobiec utracie danych w przypadku awarii sprzętu lub innych katastrof. Uruchom polecenie „gitlab-rake gitlab:backup:create” w swoim terminalu, aby utworzyć kopię zapasową instancji GitLab.

Utwórz Cronjob dla automatycznej kopii zapasowej GitLab

Skonfigurowanie zadania cron dla automatycznego tworzenia kopii zapasowych GitLab w Debianie jest niezbędne, aby zapewnić bezpieczeństwo Twoich danych. Zadanie cron to zaplanowane zadanie, które automatycznie uruchamia się w określonych odstępach czasu w celu wykonania kopii zapasowej instancji GitLab. Wykonaj poniższe kroki, aby utworzyć zadanie cron do automatycznego tworzenia kopii zapasowych GitLab w Debianie.

Utwórz skrypt kopii zapasowej Gitlab

Pierwszym krokiem jest utworzenie skryptu kopii zapasowej w celu wykonania kopii zapasowej instancji GitLab. Wykonaj następujące kroki:

Za pomocą edytora tekstu utwórz nowy plik skryptu kopii zapasowej. Oto przykład:

sudo nano /usr/local/bin/gitlab-backup.sh

Wklej następujący kod do pliku:

#!/bin/bash

BACKUP_DIR=/var/opt/gitlab/backups
TIMESTAMP=$(date +%s)

sudo gitlab-rake gitlab:backup:create

sudo cp ${BACKUP_DIR}/$(ls -t ${BACKUP_DIR} | head -1) ${BACKUP_DIR}/gitlab_backup_${TIMESTAMP}.tar
  • Zapisz plik i wyjdź z edytora tekstu.

Ten skrypt wygeneruje kopię zapasową instancji GitLab poprzez uruchomienie polecenia gitlab-rake gitlab:backup:create. Po utworzeniu kopii zapasowej zduplikuje najnowszą kopię zapasową do nowego pliku ze znacznikiem czasu w nazwie pliku.

Ustawianie uprawnień i własności

Kolejnym krokiem jest ustalenie odpowiednich uprawnień i własności skryptu kopii zapasowej, aby mieć pewność, że zadanie cronjob będzie mogło go wykonać. Wykonaj następujące kroki:

Ustaw właściciela skryptu kopii zapasowej na użytkownika powiązanego z GitLabem:

sudo chown git:git /usr/local/bin/gitlab-backup.sh

Ustaw uprawnienia skryptu kopii zapasowej, aby umożliwić jego wykonanie:

sudo chmod +x /usr/local/bin/gitlab-backup.sh

Tworzenie Cronjoba

Następnym krokiem jest utworzenie cronjob, aby zaplanować regularne uruchamianie skryptu kopii zapasowej. Wykonaj następujące kroki:

Aby otworzyć plik konfiguracyjny crontab dla użytkownika GitLab, wykonaj następujące kroki:

sudo crontab -u git -e

Aby zaplanować uruchamianie skryptu kopii zapasowej codziennie o godzinie 1:00, dodaj następujący wiersz do pliku konfiguracyjnego crontab dla użytkownika GitLab:

0 1 * * * /path/to/backup/script.sh

Zapisz plik i wyjdź z edytora tekstu.

To zadanie cron automatycznie wykona skrypt kopii zapasowej codziennie o godzinie 1:00, co spowoduje utworzenie nowego pliku kopii zapasowej ze znacznikiem czasu w nazwie pliku.

Testowanie Cronjoba

Możesz sprawdzić poprawność działania cronjob, ręcznie wykonując skrypt kopii zapasowej i upewniając się, że plik kopii zapasowej zostanie wygenerowany bez błędów. Aby wykonać ten test, wpisz w terminalu następujące polecenie:

sudo /usr/local/bin/gitlab-backup.sh

To polecenie wygeneruje nowy plik kopii zapasowej w katalogu „/var/opt/gitlab/backups”. Nazwa pliku będzie zawierać znacznik czasu wskazujący, kiedy utworzono kopię zapasową.

Polecenia terminala GitLab

GitLab-ctl to narzędzie wiersza poleceń do zarządzania GitLab w Debianie. Zawiera zestaw poleceń terminalowych służących między innymi do uruchamiania, zatrzymywania, ponownego uruchamiania i zarządzania usługami GitLab. Oto szczegółowa sekcja dotycząca poleceń terminala GitLab-ctl, wraz z przykładowymi poleceniami i wynikami z objaśnieniami.

Uruchamianie i zatrzymywanie usług GitLab

Aby uruchomić i zatrzymać usługi GitLab, użyj następujących poleceń:

Uruchom wszystkie usługi GitLab:

sudo gitlab-ctl start

Zatrzymaj wszystkie usługi GitLab:

sudo gitlab-ctl stop

Uruchom ponownie wszystkie usługi GitLab:

sudo gitlab-ctl restart

Załaduj ponownie usługi GitLab:

sudo gitlab-ctl reload

Te polecenia uruchomią, zatrzymają, zrestartują lub przeładują wszystkie usługi GitLab. Dane wyjściowe wskażą, które usługi są uruchamiane lub zatrzymywane oraz czy operacja zakończyła się pomyślnie.

Sprawdzanie statusu usług GitLab

Aby sprawdzić status usług GitLab użyj następującego polecenia:

sudo gitlab-ctl status

Te polecenia uruchomią, zatrzymają, zrestartują lub przeładują wszystkie usługi GitLab. Po wykonaniu polecenia dane wyjściowe pokażą, których usług dotyczy problem i czy operacja się powiodła.

Tworzenie kopii zapasowych i przywracanie danych GitLab

Możesz utworzyć kopię zapasową danych GitLab za pomocą następującego polecenia:

Utwórz kopię zapasową danych GitLab:

sudo gitlab-rake gitlab:backup:create

Podane polecenie utworzy plik kopii zapasowej zawierający wszystkie dane GitLab, takie jak repozytoria, dane użytkowników i pliki konfiguracyjne. Plik kopii zapasowej zostanie zapisany w katalogu: „/var/opt/gitlab/backups”.

Przywróć kopię zapasową danych GitLab:

sudo gitlab-rake gitlab:backup:restore BACKUP=<backup_file>

Za pomocą tego polecenia możesz przywrócić kopię zapasową danych GitLab z określonego pliku kopii zapasowej. Plik kopii zapasowej musi znajdować się w katalogu „var/opt/gitlab/backups” lub możesz wskazać pełną ścieżkę do pliku kopii zapasowej.

Sprawdzanie konfiguracji GitLab

Aby sprawdzić konfigurację GitLaba, możesz użyć następującego polecenia:

sudo gitlab-rake gitlab:check

To polecenie może skanować w poszukiwaniu błędów lub ostrzeżeń w konfiguracji GitLab, w tym nieaktualnych wersji, brakujących zależności i błędnie skonfigurowanych ustawień. Dane wyjściowe będą podsumowaniem wyników skanowania i szczegółowymi informacjami o wszelkich wykrytych problemach.

Sprawdzanie logów GitLaba

Oto jak sprawdzić dzienniki GitLab za pomocą następujących poleceń:

Zobacz logi GitLaba:

sudo gitlab-ctl tail gitlab-rails/production.log

Możesz użyć poniższego polecenia, aby wyświetlić ostatnie dziesięć wierszy dziennika produkcyjnego GitLab, które zawierają szczegółowe informacje o działaniach użytkownika, ostrzeżeniach i błędach.

Wyświetl dzienniki GitLab NGINX:

sudo gitlab-ctl tail nginx/gitlab_access.log

To polecenie wyświetli ostatnie dziesięć wierszy dziennika dostępu GitLab NGINX, który zawiera szczegółowe informacje dotyczące żądań i odpowiedzi HTTP.

Zobacz logi GitLab PostgreSQL:

sudo gitlab-ctl tail postgresql/current

To polecenie wyświetli ostatnie dziesięć wierszy dziennika GitLab PostgreSQL, który zawiera informacje o zapytaniach i transakcjach do bazy danych.

Wniosek

Po pomyślnym zainstalowaniu GitLab CE w systemie Debian przy użyciu oficjalnego skryptu instalacyjnego, możesz w pełni wykorzystać jego potężne możliwości DevOps. Ta metoda gwarantuje, że masz najnowszą wersję i łatwy dostęp do aktualizacji. Regularnie konserwuj i aktualizuj swoją instancję GitLab, aby korzystać z najnowszych funkcji i ulepszeń bezpieczeństwa. Ciesz się bezproblemową integracją i narzędziami współpracy, które GitLab CE oferuje dla Twoich projektów programistycznych.

Joshua James
Chodź za mną
Najnowsze posty autorstwa Joshua James (widzieć wszystko)

Dodaj komentarz