14.02.2022
Instalacja i konfiguracja GitLab na systemie CentOS 7
KonfiguracjaLinux | UnixOprogramowanie
instalacjaikonfiguracjagitlabnacentos7

Ostatnia aktualizacja: 03.02.2023 r.

Parę lat temu (a dokładnie w grudniu 2017 roku) postanowiłem postawić lokalnie w firmie system do obsługi projektów programistycznych, który jest mocno połączony z systemem kontroli wersji Git. Mój wybór padł na darmową wersję GitLab`a 10.2.0 i muszę przyznać, że jestem z niego bardzo zadowolony mimo, iż wykorzystuję tylko część jego możliwości. Plusem tego rozwiązania jest ciągły rozwój - nowe wersje wychodzą co miesiąc, choć nie wszystkie funkcje są dostępne w darmowej wersji, jednak zdarzają się sytuacje, iż po paru miesiącach przechodzą one na darmowy tier jak np. powiązywanie ticketów, Service desk, Design Management, Package Managers i wiele innych.

Poniżej zostawiam ku pamięci kroki, jakie robiłem podczas przygotowywania systemu na CentOS 7 (jeśli mnie pamięć nie myli to użyłem wariantu DVD z GUI, które później usunąłem, bo mi przeszkadzało 😆).

Parametry VM

  • 2 rdzenie CPU
  • 8 GB RAM
  • 50 GB HDD

Przed przystąpieniem do konfiguracji w pierwszej kolejności aktualizuję system i pakiety do najnowszych dostępnych wersji.

sudo yum check-update ; sudo yum update -y

Instalacja i konfiguracja wymaganych zależności

  1. Instaluję program do pobierania danych z Internetu, pakiet policycoreutils oraz oprogramowanie OpenSSH.
    sudo yum install curl policycoreutils openssh-server openssh-clients -y
  2. Włączam i uruchamiam usługę SSH.
    sudo systemctl enable sshd ; sudo systemctl start sshd
  3. Instaluję serwer pocztowy Postfix.
    sudo yum install postfix
  4. Włączam i uruchamiam usługę Postfix.
    sudo systemctl enable postfix ; sudo systemctl start postfix
  5. Dodaję na stałe usługę HTTP do domyślnej strefy i przeładowuję usługi zapory sieciowej.
    sudo firewall-cmd --permanent --add-service=http ; sudo systemctl reload firewalld

Pobranie i instalacja serwera GitLab

  1. Dodaję serwer pakietów Gitlab.
    curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/script.rpm.sh | sudo bash
  2. Instaluję serwer GitLab.
    sudo yum install gitlab-ce
  3. Zostawiam domyślną konfigurację i startuję serwer GitLab.
    sudo gitlab-ctl reconfigure

Wrzucenie kodu do repozytorium

Poniższe kroki wykonuję z poziomu swojego komputera.

  1. Inicjalizuję Git`a.
    git init
  2. Umieszczam w katalogu kod.
  3. Sprawdzam status Git`a.
    git status
  4. Dodaję wszystkie umieszczone w katalogu pliki.
    git add .
  5. Przygotowuję commita.
    git commit -m "Initial commit"
  6. Wgrywam wszystkie zmiany do repozytorium.
    git push origin master --all --tags

HTTPS

  1. Zmieniam adres strony domowej z HTTP na HTTPS.
    Admin area ➔ Settings ➔ Sign-in restrictions ➔ Home page URL
  2. Modyfikuję plik konfiguracyjny GitLab`a.
    sudo nano /etc/gitlab/gitlab.rb
    [...]
    external_url 'https://domena.pl'
    
    ### Let`s Encrypt
    letsencrypt['enable'] = true
    letsencrypt['contact_emails'] = ['adres_email']
    [...]
    
  3. Rekonfiguruję i restartuję wszystkie komponenty GitLab`a.
    sudo gitlab-ctl reconfigure ; sudo gitlab-ctl restart

SMTP

  1. Modyfikuję plik konfiguracyjny GitLab`a pod swojego dostawcę poczty e-mail (w moim przypadku jest to home.pl).
    sudo nano /etc/gitlab/gitlab.rb
    [...]
    ### Email Settings
    gitlab_rails['gitlab_email_enabloed'] = true
    gitlab_rails['gitlab_email_from'] = 'adres@email.pl'
    gitlab_rails['gitlab_email_display_name'] = '? | GitLab'
    gitlab_rails['gitlab_email_reply_to'] = 'adres@email.pl'
    gitlab_rails['gitlan_emil_subject_suffix'] = '[GitLab]'
    [...]
    ### GitLab email server settings
    ###! Docs: https://docs/gitlab.com/omnibus/settings/smtp.html
    ###! **Use smtp instead of sendmail/postfix.**
    
    gitlab_rails['smtp_enable'] = true
    gitlab_rails['smtp_address'] = "nazwa.home.pl"
    gitlab_rails['smtp_port'] = 587
    gitlab_rails['smtp_user_name'] = "adres@email.pl"
    gitlab_rails['smtp_password'] = "hasło"
    gitlab_rails['smtp_domain'] = "nazwa.home.pl"
    gitlab_rails['smtp_authentication'] = login
    gitlab_rails['smtp_enable_starttls_auto'] = true
    gitlab_rails['smtp_tls'] = false
    [...]
    
  2. Rekonfiguruję i restartuję wszystkie komponenty GitLab`a.
    sudo gitlab-ctl reconfigure ; sudo gitlab-ctl restart

Dodatkowe informacje

0 komentarzy

Szybki kontakt

Masz pytania? Napisz