ืืฉื ื ืืฆืื ื ืืขืฆืื ื ืืขืืื ืฉืืคืชื ืืื ืืฉืืคืืจ ืืืืฆืจ.
ืืืง ืืืืฉืืืืช ืืืจืฉืืช ืืื ื ืจืฆืื ืืช, ืขืืืจื ืื ื ืืืกืคืื ืืฉืื ืืืฉืชืืฉืื: ืื ื ืืืืื ืื ืืคืชืืื, ืื ืืื ืืขืจืืช, ืจืืฉื ืฆืืืช ืืืืืื Kubernetes ืืืฉืจื.
ืืืืงื ืื ื ืื ืคืืงืื ืฉืจืชืื ืืชืืืื ืืืฉืื, ืืคื ืฉืืื ืืืงืจื
ืจืื ืืฉืื ืืืื ืืืจืฉืื ืืจืื ืฉืขืืช ืคืืชืื, ืืื ืืืจืช ืืกืืจ - ืกืืคืืจ ืืืจ ืืืืจื. ืขื ืืืคืขืช ืืชืืื ืืช, ืืฉ ืื ื ืืืืื ืืช ืืืฉืื ืื ืืื ืืขืจืืช ืืืฆืื ืืื ืฉืืืืืื ืืืืื ืชืืื ื ืื ืฉื ืืื ืืืืื ืืืชื ืืฉืืง ืืืฉ ืชืื ืืื.
ืืื ืืชืจืื ื
ืืืฆื ืืืฆืืจ ืชืื ืืช Gitlab ื- Centos 8
ืืื ืืืชืงืื ืืช Gitlab, ืืืจื ืืืจื ืืฉืจืช ืขื 8 GB RAM ื-2 ืืืืืช CPU (ืืคืฉืจืืืืช 4 GB ื-1 CPU, ืื ืืืงืจื ืื ืชืฆืืจื ืืืฉืชืืฉ ืืงืืืฅ swap, ืืืืฆืืขื Gitlab ืืืงืจื ืื ื ืืืืื ืืืืคื ื ืืืจ.
ืืืื ื ืืืื ืฉืืืืืืืช ืืืจืืฉืืช ืืืชืงื ืช Gitlab ืืืชืงื ืืช:
sudo dnf install -y curl policycoreutils
ืืืื ื ืคืชื ืืืฉื ืืืฆืืืืช 80 ื-443:
sudo firewall-cmd --permanent --add-service=http
sudo firewall-cmd --permanent --add-service=https
sudo systemctl reload firewalld
ืืืื ื ืืกืืฃ ืืช ืืืืจ Gitlab:
curl https://packages.gitlab.com/install/repositories/gitlab/gitlab-ee/script.rpm.sh | sudo bash
ืื ืืฉืจืช ืืืืืจ ืฉื DNS, ื ืืชื ืืืชืงืื ืืช Gitlab ืืืืฆืขืืชื. ืื ืชืฆืืื ืืช ืืงืืืืืช https://, Gitlab ืืคืืง ืืืืืืืืช ืืืฉืืจื Lets Encrypt.
ืืืงืจื ืฉืื ื, ืื ืืฆืจื ื ืชืื ืืช ืขืืืจ ืืืื ื ืืืจืืืืืืช, ืืื ืืืจื ืงืืขื ืืชืืืช ืชืื ืืช (ืฉื ืืชื ืืฉื ืืช ืืืชื ืืขืชืื ืืื ืืขืืืช):
sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee
ืืืืจ ืืื, ืชืืื ืืืืืง ืฉืฉืืจืืชื Gitlab ืคืืขืืื ืขื ืืื ืืขืืจ ืื
http://vps_ip_address/
ืืืขืจืืช ืชืืงืฉ ืืื ืืืืืืจ ืกืืกืื ืจืืฉืื ืืช ืขืืืจ ืืฉืืื ืื ืื ืืฉืืจืฉ.
ืืฉืื ืื ื ืฆืื ืชืืื ืช ืืฆื ืฉื ืืฉืจืช, ืืืืืจ ืืื ื ืืืืจ ืืืชื ืืืืฆืขืืชื.
ืืืื ืืืช!
ืืื ืืก: ื ืกืคืจ ืืื ืืืื ืืืจืื ืืขื ืืื ืื ืชืืืื ืืขืฉืืช ืขื ืืื ืืจืืื
ื ืืืืจ Gitlab ืืืืฆืขืืช Grafana
ืืคื ื ืฉืืืฉ ืฉื ืื, ืฆืืืช Gitlab ืืืืืข ืืขืจืืช ื ืืืืจ ืื ืืืื ืืกืคืจ ืขืฆืื ืฉื ืืืืื ืืงืฉืืจืื ืืฉืืจืืชื Gitlab.
ืืื, Gitlab ืืืื ืืฉืืื ืืช ืืืืืช ืืืชืงื ื ืฉืื ืขื Prometheus ืืื ืืืคืฉืจ ืืืฉืชืืฉืื ืฉืื ืื ืฆื ืืช ืืืืืืช ืื ืืืืจ ืฉืืกืคืงืช Prometheus.
Prometheus ืืื ืกืืจืช ืืื ืคืชืืื (Apache 2.0) DBMS ืฉื ืืชืื ื-Go ืืคืืชืื ืืืงืืจ ื-SoundCloud. ืืืืืื ืืืจืืช, ืืืืจ ืืื ืืืืกื ืืช ืืืืืื ืฉืื. ืชืืื ื ืืขื ืืื ืช ืฉื ืคืจืืืชืืืก ืืื ืฉืืื ืขืฆืื ืืืฉื ืืืืื ืืืขืจืืช ื ืชืื ื ืฉื ืฉืืจืืชืื (ืขืืฉื ืืฉืืื). ืืฉื ืื, ืคืจืืืชืืืก ืื ืืืื ืืืืกืชื ืขื ืฉืื ืชืืจืื ืื ืืฉืื ืืื, ืื ืฉืืืืจ ืฉืื ืืืืจ ืืขืืื ืื ืืืคืื ืืฆืืืืจ ืืงืืืง ืฉื ืืืขืจืืช. ืืคืจืืืงื ืืขื ืืื ืื ืืืืืื ืฉืืื ืืืกืืื ืืื ื ืืฆืืข ืงื ื ืืืื ืืืคืงื ืื ืืืื ืืช ืืืืื.
ืืคื ื ืงืฆืช ืืืชืจ ืืฉื ื, ืฆืืืช Gitlab ืืืืข ืืืกืงื ื ืฉืืืืื ืืื ื ื ืืืื ืืืืืื ืืื ืืืืืช ืืืืื ืื. ืื ืื ืฉืืืื ืืช Grafana ืขื ืืืืืช ืืืืื ืื ืืืชืืืื ืืืฉืืช ืืื ืืขืืืจ ืืืฉืชืืฉืื ืฉืืื ืืืืืื ื ืชืื ืื ืืืื ืืืชืงืื ืืช Grafana ืืืืคื ืืื ื.
ืืื ืืจืกื 12.0, Gitlab ืฉืืืื ืืช Grafana, ืืืืืืจืช ืขื SSO ืืืจืืจืช ืืืื, ื
ืืฉื ื ืฉื ื ืืืงืื ืฉืื ืื ืฉื ืืืื ืืืจืฆืื ืฉื Gitlab ืขื Prometheus:
- ื ืืืืจ GitLab (ืืืื ืืืืก)
- ื ืืืืจ ืืืฉืืื GitLab ืืืืืื ืืืฉืืื Kubernetes
ืืื ืืืฉืชืืฉ ืืื
"ืืืื ืืืืก" ืืื ืื ืฉ-GitLab ืืื ื ืืช ืืืืืช ืืืชืงื ื ืืขืืงืจืืช ืฉืื.
ืืืฆื ืืืืืืจ ืืช Grafana
ืืชืืืจืืช ืืืกืืกืื ืฉื Grafana ืืืฉืืชืืช ืืืจืืจืช ืืืื (ืจืง ืื ืืกื SSO ืืืชืจืช), ืื ืื ืืฉ ืฆืืจื ืืืืื ืก ืืืฉืืื ืขื ืืืืืืช ืื ืื ืื ืืืืืช ืืกืืื ืืืืื ืก ืขื ืฉื ืืฉืชืืฉ ืืกืืกืื, ืขืืื ืืืคืขืื ืืืช ืืชืฆืืจืช Gitlab ืงืืืฅ /etc/gitlab/gitlab .rb ืขื ืืื ืขืจืืืช ืืฉืืจื ืืืชืืืื:
grafana['disable_login_form'] = false
ืืืืืจ ืืืืฉ ืืช Gitlab ืืื ืืืืื ืืช ืืฉืื ืืืื:
sudo gitlab-ctl reconfigure
ืื ืืฉืงืช ืืช Gitlab ืืืืฆืขืืช ืชืื ืืช ืืืืื ืืช ืืืืืจืืืืืืืช ืฉืื ื ืืืฉืืง ืฉืื ื, ืขืืื ืืืงืฆืืช ืืช ืืชืืืช ืืืชืจ ืฉืื ืืฉืจืช ืขื ืืื ืฉืื ืื ืืฉืืจื ืืืชืืืื ื-/etc/gitlab/gitlab.rb:
external_url = 'http://gitlab.mydomain.ru'
ืืฆืข ืงืื ืคืืืืจืฆืื ืืืืฉ:
sudo gitlab-ctl reconfigure
ืืฉื ื ืืช URI ืืืคื ืื ืืืืฉ ืขืืืจ Grafana ืืืชืื ื
ืืืืจ ื ืืืื > ืืคืืืงืฆืืืช > GitLab Grafana
ืืคืขื ืืจืืฉืื ื ืฉืืชื ืืชืืืจ ืืืืฆืขืืช SSO, Gitlab ืชืืงืฉ ืืืฉืืจ ืืืฉืจ ืืช ืืืชืืืจืืช ืฉื Grafana.
ืืืืื
ืืืจืคืื ื, ืืืืืช ืืืืื ืื ืืืื ืื ืฉื ืืฉืืจืืชืื ืืขืืงืจืืื ืืืืืจืื ืืืืื ืื ืืงืืืืจืืืช Gitlab Omnibus.
ืกืงืืจื ืืืืืช ืฉื ืืื ืืืืืื ืื
ืืื ืืืืืื ืื ืฉื ืืืื ืคืืืคืืจืืช ืฉืืจืืช
- ืกืงืืจื ืืืืืช - ืืื ืืืืื ืื ืกืงืืจื ืืืฆืื ืืช ืืฆื ืืฉืืจืืชืื, ืืชืืจืื ืืฉืืืืฉ ืืืฉืืื ืืฉืจืช
- Gitaly - ื ืืืืจ ืฉืืจืืช ืืืกืคืง ืืืฉืช RPC ืืืืืจื Gitlab
- NGINX VTS - ืกืืืืกืืืงื ืขื ืชืขืืืจืช ืฉืืจืืช ืืงืืื HTTP ืืื ืืงืฉื
- PostgreSQL - ืกืืืืกืืืงืืช ืขื ืืืื ืืช ืืขืืืก ืขื ืืกื ืื ืชืื ืื ืฉื PostgreSQL
- Praefect - ื ืืืืจ ืขืืืกื ืืืกืื ืขื ืืืื ืืช ืืืืื Praefect
- ืืคืืืงืฆืืืช Rails - ืืื ืืืืื ืื ืกืงืืจื ืขืืืจ ืืืฉืืื Rails
- Redis - ื ืืืืจ ืืขืืืก ืขื ืฉืืจืืช Redis
- ืจืืฉืื - ื ืืืืจ ืจืืฉืื ืชืืื ืืช
- ืืืื ืคืืืคืืจืืช ืฉืืจืืช - ืืืื ืฉืืจืืช ืืืฆืืืื ืืช ื ืืฆืื ืืืฉืืืื ืขื ืืื Gitlab, ืืืื ืืช ืืฉืืจืืช, ืืกืคืจ ืืงืฉืืช RPC ืืืกืคืจ ืฉืืืืืช.
ืืืื ืืืจืฆืื ืืื ืื ืืงืืคื ืืืืฉืชืืฉื Gitlab ืืฉ ืืช ืืืืืืช ืื ืชื ืืืื Gitlab ืืืืชืืื ืืฉืืจืืช ืืืงืืคืกื.
ื-Gitlab ืฆืืืช ื ืคืจื ืืืจืื ืืชืืืืงื ืืขืืืื ืฉื ืืืืืช ืืืืื ืื, ืืืืืจื ืื ืงืืฆ'ื, ืืื ืืก SRE ื-Gitlab, ืืืืจืืช ืืจืืจืช ืืืืื ืืืืฉืืืจืืื ืืืืื ืื ืืชืืืืืช ืืจืื ืืืฉืชืืฉืื.
ืืขืืฉืื ืืขืืงืจ: ืืืื ื ืืฆืืจ ืืื ืฉืืง
ืื ื ืจืืฆืื ืืืืืื ืืช ืื ืงืืืืช ืืืจ ืืืฉืชืชืฃ ืืืฆืืจืช ืืฉืืง. ืืฉื ื ืฉืืืฉ ืืคืฉืจืืืืช ืืืฆื ืชืืื ืืืฆืืจืฃ:
ืืื ืืช ืืชืืื ื ืืขืฆืื ืืงืื 3000 ืจืืื ืืืืืื ืฉืื
ืื ืืชื ืืืื ืืืืจ ืืื ืืงืจื ืืืืฆืืจ ืืช ืืชืืื ื ืฉืืกืจื ืื ืืขืฆืื, ืื ื ื ืืื ืืืชื ื-3000 ืจืืื ืืืชืจื ืืคื ืืืืช ืฉืื - ืืชื ืืืื ืืืืฆืื ืืืชื ืขื ืฉืจืชืื.
ืืื ืืืฆืืจ ืืช ืืชืืื ื ืฉืื:
- ืฆืืจ ืืืชื ื ืืฉืืื
ืืงืืื - ืกืคืจ ืืชืืืื ืฉืืชื ืืืื ืืืฆืืจ ืืืืืืง ืชืืื ืืช
- ืื ื ื ืืื ืืืชื ื-3000 ืจืืื ืื ืืคืฉืจ ืืช ืืืืืืช ืืืฆืืจ ืชืืื ืืช ืืฆื
- ืืืืื ื ืฉืจืช ืืืจืืืืื ืขื ืืขืจืืช ืืคืขืื ื ืงืืื
- ืืชืงื ืืช ืืชืืื ื ื-VPS ืืื ืืืืืจ ืืืชื
- ืืชืื ืืืจืืืช ืื ืกืงืจืืคื ืืคืจืืกืช ืชืืื ื
- ืฆืืจ ืชืืื ืช ืืฆื ืขืืืจ ืืฉืจืช ืืืืืืจ
- ืืืืื ื ืฉืจืช ืืืจืืืืื ืืืฉ ืขื ืืื ืืืืจืช ืชืืื ืช ืืืฆื ืฉื ืืฆืจื ืืขืืจ ืืจืฉืืื ืื ืคืชืืช "ืชืื ืืช ืฉืจืช".
- ืืืงืจื ืฉื ืืฆืืจื ืืืฆืืืช ืฉื ืืฉืจืช, ืืขืืจ ืืช ืืืืืจืื ืฉืืชืงืืื ืืฉืื 6 ืืชืืืื ืืืื ืืช
- ืืืงืจื ืฉื ืฉืืืื, ืืชื ืืืื ืืืืืง ืขื ืืชืืืื ืืช ืืกืืื ืืืืืืจ ืขื ืืืืืจื
ืืืขืื ืขืกืงืื: ืืฆืืขื ืืช ืืชืืื ื ืฉืืื
ืื ืืชื ืืคืชื ืชืืื ื ืฉื ืคืจืก ืืืฉืืฉ ื-VPS, ื ืืื ืืืืื ืืืชื ืืฉืืง. ืื ื ืืื ืืขืืืจ ืืื ืืืืื ืืงืืืืช ืืืฉืื, ืชื ืืขื ืื ืจืืืช.
ืคืฉืื ืืฆืืขื ืื ื ืชืืื ื ืืชืืืืืช
ืืชืื ืขื ืืืื ืชืืื ื ืชืจืฆื ืืืืืช ืืกืืื ืืคืจืืก ืืืื ืืช ืืืจืืืืืืืช ืืงืืืง ืืื?
ืืื ืืชื ืืชืืขืืข ืืฉืืง RUVDS?
ืื ืฆืจืืื ืื ืืืจืช ืืืกืื ืฉืืืืืช ืืช ืขืฆืื ืืืืื ืืฉืืง ืฉืื?
ืจืง ืืฉืชืืฉืื ืจืฉืืืื ืืืืืื ืืืฉืชืชืฃ ืืกืงืจ.
ืืืื ืชืืื ืืช ืขืืื ื ืืืืื ืชืืืื ืืฉืืง?
-
50,0%LEMP10
-
15,0%ืืจืืคื 3
-
10,0%ื'ืืืื 2
-
5,0%ืืืงื1
-
0,0%PacVim0
-
0,0%Runcloud0
-
5,0%ืฉืจืช ืงืื1
-
15,0%Ghost3
-
5,0%WikiJs1
-
0,0%ืฉืื0
-
0,0%Rstudio0
-
5,0%OpenCart1
-
35,0%Django7
-
40,0%Laravel8
-
20,0%Ruby on Rails4
-
55,0%NodeJs11
20 ืืฉืชืืฉืื ืืฆืืืขื. 12 ืืฉืชืืฉืื ื ืื ืขื.
ืืงืืจ: www.habr.com