W tym filmie wyja艣niam, jak zainstalowa膰 i skonfigurowa膰 GitLaba na Debianie 11, jednak poni偶ej mo偶esz przeczyta膰 poradnik dla innych dystrybucji Linuksa.

GitLab to otwarto藕r贸d艂owa platforma rozwoju oprogramowania end-to-end z wbudowan膮 kontrol膮 wersji, 艣ledzeniem problem贸w, recenzj膮 kodu, CI/CD i wi臋cej. Samodzielnie hostuj GitLaba na w艂asnych serwerach, w kontenerze lub u dostawcy chmury. 殴r贸d艂o: GitLab CE

GitLab FOSS jest tylko do odczytu lustrem GitLaba, z usuni臋tym ca艂y prywatnym kodem. Ten projekt by艂 wcze艣niej u偶ywany do hostowania GitLab Community Edition, ale ca艂y rozw贸j przeni贸s艂 si臋 teraz do GitLab CE 殴r贸d艂o: GitLab CE / Gitlab FOSS

Poradnik

Podstawowe wymagania dla wirtualnej maszyny

8 GB RAM 4 vCPU 40 GB miejsca na dysku Miejsce na dysku:

  • dysk systemowy (sda) …. 40GB – W razie potrzeby utw贸rz oddzieln膮 partycj臋 /opt (~20GB), poniewa偶 GitLab jest instalowany w /opt/gitlab

  • dysk danych (sdb) ….. 60GB – zamontuj na /data – zdefiniuj katalog danych GitLaba /data/gitlab

W razie potrzeby zwi臋ksz rozmiar partycji.

Dodaj drugi dysk i utw贸rz partycj臋.
1
sudo fdisk /dev/sdb

Nast臋pnie wpisz litery w kolejno艣ci i ustaw parametry

n
naci艣nij Enter
p
naci艣nij Enter
1
naci艣nij Enter dwa razy
t
naci艣nij Enter
8E
naci艣nij Enter
w
naci艣nij Enter
Instalacja parted
SLES | openSUSE Leap 15.4
1
sudo zypper install parted
Debian
1
sudo apt install parted
Red Hat
1
sudo dnf install parted
Wykonaj poni偶sze polecenie
1
sudo parted /dev/sdb
Dodaj wolumin fizyczny w mened偶erze wolumin贸w logicznych
1
sudo pvcreate /dev/sdb1
Utw贸rz grup臋 wolumin贸w i dodaj do niej /dev/sdb1
1
sudo vgcreate gitlab-data /dev/sdb1
Utw贸rz wolumin logiczny
1
sudo lvcreate -n gitlab-data -l 100%FREE gitlab-data
Utw贸rz system plik贸w ext4
1
mkfs.ext4 /dev/gitlab-data/gitlab-data
Wy艣wietl urz膮dzenie
1
sudo ls -al /dev/mapper
Utw贸rz katalog danych w katalogu g艂贸wnym
1
2
cd /
sudo mkdir data
Dodaj do /etc/fstab wpis dla danych. Zapisz i wyjd藕.
1
2
3
vim /etc/fstab
# dodaj poni偶sze
/dev/mapper/gitlab--data-gitlab--data /data ext4 defaults 0 2
Zamontuj wpis z /etc/fstab
1
mount -a
Sprawd藕 poni偶szym poleceniem status zamontowanego zasobu
1
sudo df -kTh
Zaktualizuj system
SLES | openSUSE Leap 15.4
1
sudo zypper ref
Debian
1
sudo apt update
Red Hat
1
sudo dnf check-update
Zainstaluj wymagane pakiety
SLES | openSUSE Leap 15.4
1
sudo zypper install curl vim openssh perl postfix mailutils git
Debian
1
sudo apt install curl vim openssh-server ca-certificates postfix mailutils gnupg debian-archive-keyring apt-transport-https git
Red Hat
1
sudo dnf curl vim openssh-server ca-certificates postfix mailutils gnupg policycoreutils python3-policycoreutils git
Instalacja GitLab CE
SLES | openSUSE Leap 15.4
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
sudo zypper install curl perl
# Sprawd藕, czy potrzebne jest otwarcie firewalla: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

# Dodaj repozytorium pakiet贸w GitLab i zainstaluj pakiet
curl -sS https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash

# Instalacja GitLab CE
sudo zypper install gitlab-ee
Debian
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
id="os=debian&dist=bullseye"
curl -ssf "https://packages.gitlab.com/install/repositories/gitlab/gitlab-ce/config_file.list?$id" >/etc/apt/sources.list.d/gitlab-ce.list
curl -L https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey | gpg --dearmor > /etc/apt/trusted.gpg.d/gitlab-ce.gpg
sudo vim /etc/apt/sources.list.d/gitlab-ce.list
# zmie艅 klucz gpg na:  /etc/apt/trusted.gpg.d/gitlab-ce.gpg
# Powinno wygl膮da膰 jak poni偶ej:

# ten plik zosta艂 wygenerowany przez packages.gitlab.com dla
# repozytorium na https://packages.gitlab.com/gitlab/gitlab-ce
deb [signed-by=/etc/apt/trusted.gpg.d/gitlab-ce.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main
deb-src [signed-by=/etc/apt/trusted.gpg.d/gitlab-ce.gpg] https://packages.gitlab.com/gitlab/gitlab-ce/debian/ bullseye main

# Aktualizacja apt
sudo apt update

# Instalacja GitLab CE
sudo apt install gitlab-ce
Red Hat
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
# Sprawd藕, czy potrzebne jest otwarcie firewalla: sudo systemctl status firewalld
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld

# Dodaj repozytoria dla GitLab CE
sudo vim /etc/yum.repos.d/gitlab_gitlab-ce.repo

#Dodaj poni偶sze linie do pliku:
[gitlab_gitlab-ce]
name=gitlab_gitlab-ce
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/$basearch
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

[gitlab_gitlab-ce-source]
name=gitlab_gitlab-ce-source
baseurl=https://packages.gitlab.com/gitlab/gitlab-ce/el/8/SRPMS
repo_gpgcheck=1
gpgcheck=1
enabled=1
gpgkey=https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey
       https://packages.gitlab.com/gitlab/gitlab-ce/gpgkey/gitlab-gitlab-ce-3D645A26AB9FBD22.pub.gpg
sslverify=1
sslcacert=/etc/pki/tls/certs/ca-bundle.crt
metadata_expire=300

# Sprawdzenie repozytori贸w
sudo dnf repolist

# Instalacja GitLab CE
sudo dnf install gitlab-ce -y  

Konfiguracja

  1. Konfiguracja Postfixa
1
sudo vim /etc/postfix/main.cf

Ustaw jak poni偶ej

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
compatibility_level = 2
mail_owner = postfix
setgid_group = postdrop
inet_interfaces = localhost
inet_protocols = all
mydomain = gitlab.local
mydestination = $myhostname, localhost.$mydomain, localhost
relayhost = mail.gitlab.local
unknown_local_recipient_reject_code = 550
alias_maps = hash:/etc/aliases
alias_database = hash:/etc/aliases

Restartuj Postfixa

1
sudo systemctl restart postfix
  1. Utw贸rz katalog ssl i wygeneruj certyfikaty
1
2
3
4
5
cd /etc/gitlab
sudo mkdir ssl
sudo openssl genrsa -out gitlab.key 2048
sudo openssl req -key gitlab.key -new -out gitlab.csr
sudo openssl x509 -signkey gitlab.key -in gitlab.csr -req -days 365 -out gitlab.crt
  1. Edytuj g艂贸wny plik konfiguracyjny: /etc/gitlab/gitlab.rb
1
sudo vim /etc/gitlab/gitlab.rb

external_url ‘https://10.10.0.119’

Domy艣lny katalog przechowywania danych

git_data_dirs({ “default” => { “path” => “/data/git” } })

Ustawienia u偶ytkownika GitLab

user[‘git_user_email’] = “gitlab@gitlab.local

Ustawienia e-mail

gitlab_rails[‘gitlab_email_from’] = ‘gitlab@gitlab.local’ gitlab_rails[‘gitlab_email_display_name’] = ‘GitLab’ gitlab_rails[‘gitlab_email_reply_to’] = ’noreply@gitlab.local

GitLab NGINX

nginx[’enable’] = true nginx[‘redirect_http_to_https’] = true nginx[‘redirect_http_to_https_port’] = 80 nginx[‘ssl_certificate’] = “/etc/gitlab/ssl/gitlab.crt” nginx[‘ssl_certificate_key’] = “/etc/gitlab/ssl/gitlab.key”

  1. Ponowna konfiguracja GitLaba
1
sudo gitlab-ctl reconfigure
  1. W艂膮cz i uruchom GitLaba
1
2
sudo systemctl enable gitlab-runsvdir.service
sudo systemctl start gitlab-runsvdir.service
  1. Dost臋p do interfejsu sieciowego GitLab CE

https://10.10.0.119 Zaloguj si臋 na konto: root has艂o znajduje si臋 w /etc/gitlab/initial_root_password

  1. Zresetuj has艂o u偶ytkownika “root”
1
2
3
# sudo gitlab-rake "gitlab:password:reset"
> Wpisz nazw臋 u偶ytkownika: root
> Wpisz has艂o:
  1. Usu艅 pocz膮tkowe has艂o roota
1
sudo rm -f /etc/gitlab/initial_root_password