рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рдпрд╕ рд╡рд░реНрд╖ рд╣рд╛рдореАрд▓реЗ рдЙрддреНрдкрд╛рджрди рд╕реБрдзрд╛рд░ рдЧрд░реНрди рдЖрдлреИрдВрд▓рд╛рдИ рдорд╣рддреНрд╡рд╛рдХрд╛рдВрдХреНрд╖реА рд▓рдХреНрд╖реНрдпрд╣рд░реВ рд╕реЗрдЯ рдЧрд░реЗрдХрд╛ рдЫреМрдВред

рдХреЗрд╣реА рдХрд╛рд░реНрдпрд╣рд░реВрд▓рд╛рдИ рдЧрдореНрднреАрд░ рддрдпрд╛рд░реА рдЪрд╛рд╣рд┐рдиреНрдЫ, рдЬрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╣рд╛рдореА рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрдмрд╛рдЯ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рд╕рдЩреНрдХрд▓рди рдЧрд░реНрдЫреМрдВ: рд╣рд╛рдореА рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВ, рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВ, рдЯреЛрд▓реА рдиреЗрддрд╛рд╣рд░реВ, рд░ Kubernetes рд╡рд┐рд╢реЗрд╖рдЬреНрдЮрд╣рд░реВрд▓рд╛рдИ рдЕрдлрд┐рд╕рдорд╛ рдЖрдордиреНрддреНрд░рд┐рдд рдЧрд░реНрдЫреМрдВред

рдХреЗрд╣рд┐ рдорд╛, рд╣рд╛рдореА рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдХреЛ рдкреНрд░рддрд┐рдХреНрд░рд┐рдпрд╛ рдорд╛ рд╕рд░реНрднрд░ рдЬрд╛рд░реА, рдорд╛рдорд▓рд╛ рдерд┐рдпреЛ рдзрдорд┐рд▓реЛ рд╢рд┐рдХреНрд╖рд╛ рд╡рд┐рджреНрдпрд╛рд░реНрдереАрд╣рд░реВрд╕рдБрдЧред рд╣рд╛рдореАрд╕рдБрдЧ UI/UX, рд╕рдиреНрджрд░реНрдн рдкреБрд╕реНрддрдХрдХрд╛ рд▓рд╛рдЧрд┐ рд╢реИрдХреНрд╖рд┐рдХ рд▓реЗрдЦрд╣рд░реВрдХреЛ рдмреНрдпрд╛рдХрд▓рдЧ, рд░ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдЕрдиреБрднрд╡ рд╕реБрдзрд╛рд░ рдЧрд░реНрдиреЗ рдареВрд▓рд╛ рдпреЛрдЬрдирд╛рд╣рд░реВрдмрд╛рд░реЗ рдЫрд▓рдлрд▓ рдЧрд░реНрдиреЗ рдзреЗрд░реИ рд╡реНрдпрд╕реНрдд рдХреБрд░рд╛рдХрд╛рдиреАрд╣рд░реВ рдЫрдиреНред

рдзреЗрд░реИ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рдзреЗрд░реИ рд╡рд┐рдХрд╛рд╕ рдШрдгреНрдЯрд╛ рдЪрд╛рд╣рд┐рдиреНрдЫ, рддрд░ рдмрдЬрд╛рд░ - рдПрдХ рдмрд┐рд▓реНрдХреБрд▓ рдлрд░рдХ рдХрдерд╛ред рд╕реНрдиреНрдпрд╛рдкрд╢рдЯрд╣рд░реВрдХреЛ рдЖрдЧрдордирдХреЛ рд╕рд╛рде, рд╣рд╛рдореАрд╕рдБрдЧ рдмрд╛рд╣реНрдп рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╢рд╛рд╕рдХрд╣рд░реВрд▓рд╛рдИ рдЖрдХрд░реНрд╖рд┐рдд рдЧрд░реНрдиреЗ рдЕрд╡рд╕рд░ рдЫ рдЬрд╕рд▓реЗ рдЫрд╡рд┐ рддрдпрд╛рд░ рдЧрд░реНрди рд╕рдХреНрдЫ рддрд╛рдХрд┐ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдмрдЬрд╛рд░рдорд╛ рдПрдХ рджрд┐рдирдорд╛ рд╢рд╛рдмреНрджрд┐рдХ рд░реВрдкрдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред

рдХрд╕рд░реА рдпреЛрдЧрджрд╛рди рдЧрд░реНрдиреЗ рдмрдЬрд╛рд░ рд╣рд╛рдореА RUVDS рджреЗрдЦрд╛рдЙрдиреЗрдЫреМрдВ рд░ рд╣рд╛рдореНрд░реЛ рдЧреНрд░рд╛рд╣рдХрд▓реЗ рддрдпрд╛рд░ рдкрд╛рд░реЗрдХреЛ рд╣рд╛рдореНрд░реЛ рдирдпрд╛рдБ рдЫрд╡рд┐рдХреЛ рдЙрджрд╛рд╣рд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдпрд╕рд▓реЗ рдХреЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреЗрдЫ takezi - GitLab

Centos 8 рдорд╛ Gitlab рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдХрд╕рд░реА рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ

Gitlab рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрди, Yura рд▓реЗ 8 GB RAM рд░ 2 CPU рдХреЛрд░ (4 GB рд░ 1 CPU рд╕рдореНрднрд╡ рдЫ, рддрд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рд╕реНрд╡реИрдк рдлрд╛рдЗрд▓ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрдкрд░реНрдиреЗрдЫ, рд░ рдпрд╕ рдЕрд╡рд╕реНрдерд╛рдорд╛ 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 рд▓реЗ рд╕реНрд╡рддрдГ Encrypt рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╣рд░реВ рдЙрддреНрдкрдиреНрди рдЧрд░реНрдиреЗрдЫред

рд╣рд╛рдореНрд░реЛ рдЕрд╡рд╕реНрдерд╛рдорд╛, рдХрд┐рдирднрдиреЗ рд╣рд╛рдореА рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирдХреЛ рд▓рд╛рдЧрд┐ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдмрдирд╛рдЙрдБрджреИ рдерд┐рдпреМрдВ, рддреНрдпрд╕рдкрдЫрд┐ рдпреБрд░рд╛рд▓реЗ рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдареЗрдЧрд╛рдирд╛ рд╕реЗрдЯ рдЧрд░реНтАНрдпреЛ (рдЬреБрди рдХреБрдиреИ рд╕рдорд╕реНрдпрд╛ рдмрд┐рдирд╛ рднрд╡рд┐рд╖реНрдпрдорд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ):

sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee

рдпрд╕ рдкрдЫрд┐, рддрдкрд╛рдИрд▓реЗ Gitlab рд╕реЗрд╡рд╛рд╣рд░реВ рдХрд╛рдо рдЧрд░рд┐рд░рд╣реЗрдХреЛ рдЫ рднрдиреЗрд░ рдЬрд╛рдБрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ

http://vps_ip_address/

рдкреНрд░рдгрд╛рд▓реАрд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рд░реВрдЯ рдкреНрд░рд╢рд╛рд╕рдХ рдЦрд╛рддрд╛рдХреЛ рд▓рд╛рдЧрд┐ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдкрд╛рд╕рд╡рд░реНрдб рд╕реЗрдЯ рдЧрд░реНрди рд╕рдВрдХреЗрдд рдЧрд░реНрдиреЗрдЫред

рдпрд╕ рдЪрд░рдгрдорд╛, рд╣рд╛рдореА рд╕рд░реНрднрд░рдХреЛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рд▓рд┐рдиреЗрдЫреМрдВ, рд░ рддреНрдпрд╕рдкрдЫрд┐ рд╣рд╛рдореА рдпрд╕рд▓рд╛рдИ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреЗрдЫреМрдВред

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рдпрддрд┐ рдиреИ!

рдмреЛрдирд╕: рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рд╡рд┐рд╕реНрддрд╛рд░ рдЧрд░реЗрд░ рдХреЗ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреНрдиреЗ рд░реЛрдЪрдХ рдХреБрд░рд╛рд╣рд░реВ рдмрддрд╛рдЙрдиреЗрдЫреМрдВ рднрд░реНрдЪреБрдЕрд▓ GitLab рдЫрд╡рд┐ рд╕рдВрдЧред

Grafana рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Gitlab рдирд┐рдЧрд░рд╛рдиреА

рддреАрди рд╡рд░реНрд╖ рдкрд╣рд┐рд▓реЗ, Gitlab рдЯреЛрд▓реАрд▓реЗ Gitlab рд╕реЗрд╡рд╛рд╣рд░реВрд╕рдБрдЧ рд╕рдореНрдмрдиреНрдзрд┐рдд рдореЗрдЯреНрд░рд┐рдХреНрд╕рдХреЛ рдареВрд▓реЛ рд╕рдВрдЦреНрдпрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрди рдЧрд░реНрди рдПрдХ рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реА рд▓рд╛рдЧреВ рдЧрд░реНрдпреЛред

рддреНрдпрд╕рдмреЗрд▓рд╛рджреЗрдЦрд┐, Gitlab рд▓реЗ Prometheus рд╕рдБрдЧ рдпрд╕рдХреЛ рд╕реНрдерд╛рдкрдирд╛ рдкреНрдпрд╛рдХреЗрдЬ рдвреБрд╡рд╛рдиреА рдЧрд░реНрди рдерд╛рд▓реЗрдХреЛ рдЫ рдЬрд╕рд▓реЗ рдЖрдлреНрдирд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ Prometheus рджреНрд╡рд╛рд░рд╛ рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЕрдиреБрдЧрдорди рдХреНрд╖рдорддрд╛рд╣рд░реВрдХреЛ рдлрд╛рдЗрджрд╛ рд▓рд┐рди рд╕рдХреНрд╖рдо рдмрдирд╛рдЙрдБрдЫред

Prometheus рдПрдХ рдЦреБрд▓рд╛ (Apache 2.0) рд╕рдордп рд╢реНрд░реГрдВрдЦрд▓рд╛ DBMS Go рдорд╛ рд▓реЗрдЦрд┐рдПрдХреЛ рд░ рдореВрд▓ рд░реВрдкрдорд╛ SoundCloud рдорд╛ рд╡рд┐рдХрд╕рд┐рдд рдЧрд░рд┐рдПрдХреЛ рд╣реЛред рдЕрд░реНрдХреЛ рд╢рдмреНрджрдорд╛, рдпреЛ рдХреБрд░рд╛рд▓реЗ рддрдкрд╛рдЗрдБрдХреЛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рднрдгреНрдбрд╛рд░ рдЧрд░реНрджрдЫред рдкреНрд░реЛрдореЗрдерд┐рдпрд╕рдХреЛ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рд╡рд┐рд╢реЗрд╖рддрд╛ рдпреЛ рд╣реЛ рдХрд┐ рдпреЛ рдЖрдлреИрд▓реЗ рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рджрд┐рдЗрдПрдХреЛ рд╕реЗрдЯрдмрд╛рдЯ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рддрд╛рдиреНрдЫ (рдПрдХ рдкреБрд▓ рдЧрд░реНрджрдЫ)ред рдпрд╕ рдХрд╛рд░рдгрд▓реЗ рдЧрд░реНрджрд╛, рдкреНрд░реЛрдорд┐рдерд┐рдпрд╕ рдХреБрдиреИ рдкрдирд┐ рд▓рд╛рдордорд╛ рд╡рд╛ рддреНрдпрд╕реНрддрд╛ рдЪреАрдЬрд╣рд░реВрдорд╛ рдЕрдбреНрдХрд┐рди рд╕рдХреНрджреИрди, рдЬрд╕рдХреЛ рдорддрд▓рдм рдирд┐рдЧрд░рд╛рдиреА рдкреНрд░рдгрд╛рд▓реАрдХреЛ рдмрд╛рдзрд╛ рдмрдиреНрдиреЗ рдЫреИрдиред рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкрдирд┐ рдЪрд╛рдЦрд▓рд╛рдЧреНрджреЛ рдЫ рдХрд┐рдирднрдиреЗ рдпрд╕рд▓реЗ рдореМрд▓рд┐рдХ рд░реВрдкрдорд╛ рдХреБрдиреИ рддреЗрд░реНрд╕реЛ рд╕реНрдХреЗрд▓рд┐рдВрдЧ рд╡рд╛ рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрджреИрдиред

рдПрдХ рд╡рд░реНрд╖ рднрдиреНрджрд╛ рдЕрд▓рд┐ рдкрд╣рд┐рд▓реЗ, Gitlab рдЯреЛрд▓реАрд▓реЗ рдирд┐рд╖реНрдХрд░реНрд╖ рдирд┐рдХрд╛рд▓реНрдпреЛ рдХрд┐ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рдмрд┐рдирд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдзреЗрд░реИ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рдЫреИрдиред рддреНрдпрд╕реИрд▓реЗ рддрд┐рдиреАрд╣рд░реВрд▓реЗ Grafana рд▓рд╛рдИ рдЕрдиреБрдХреВрд▓рд┐рдд рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВрд╕рдБрдЧ рдПрдХреАрдХреГрдд рдЧрд░реЗ рддрд╛рдХрд┐ рддрд┐рдиреАрд╣рд░реВрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ Grafana рдореНрдпрд╛рдиреБрдЕрд▓ рд░реВрдкрдорд╛ рд╕реНрдерд╛рдкрдирд╛ рдирдЧрд░реАрдХрди рдбрд╛рдЯрд╛ рдХрд▓реНрдкрдирд╛ рдЧрд░реНрди рдорджреНрджрдд рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рд╕рдВрд╕реНрдХрд░рдг 12.0 рджреЗрдЦрд┐, Gitlab рд▓реЗ Grafana рдПрдХреАрдХреГрдд рдЧрд░реЗрдХреЛ рдЫ, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ SSO рд╕рдБрдЧ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рдЫ, рд░ рдпреЛ URL рдорд╛ рдЙрдкрд▓рдмреНрдз рдЫ.

Prometheus рд╕рдВрдЧ Gitlab рдПрдХреАрдХрд░рдг рдХреЛ рджреБрдИ рдлрд░рдХ рднрд╛рдЧрд╣рд░реБ рдЫрдиреН:

  • GitLab рдирд┐рдЧрд░рд╛рдиреА (рдУрдореНрдирд┐рдмрд╕)
  • Kubernetes рдХреНрд▓рд╕реНрдЯрд░рдорд╛ рд╡реНрдпрдХреНрддрд┐рдЧрдд GitLab рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ рдирд┐рдЧрд░рд╛рдиреА рдЧрд░реНрджреИ

рдпрд╕рд▓рд╛рдИ рдХрд╕рд░реА рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреЗ

GitLab рд▓реЗ рдпрд╕рдХреЛ рдореБрдЦреНрдп рд╕реНрдерд╛рдкрдирд╛ рдкреНрдпрд╛рдХреЗрдЬрд▓рд╛рдИ "рдУрдореНрдирд┐рдмрд╕" рднрдирд┐рдиреНрдЫред

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

Grafana рдХрд╕рд░реА рд╕реЗрдЯ рдЕрдк рдЧрд░реНрдиреЗ

Grafana рд▓рдЧрдЗрди рд░ рдкрд╛рд╕рд╡рд░реНрдб рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд░реВрдкрдорд╛ рдЕрд╕рдХреНрд╖рдо рдЧрд░рд┐рдПрдХреЛ рдЫ (рдХреЗрд╡рд▓ SSO рд▓рдЧрдЗрди рдЕрдиреБрдорддрд┐ рджрд┐рдЗрдПрдХреЛ рдЫ), рддрд░ рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рдкреНрд░рд╢рд╛рд╕рдХ рдЕрдзрд┐рдХрд╛рд░рд╣рд░реВ рднрдПрдХреЛ рдЦрд╛рддрд╛рдорд╛ рд▓рдЧ рдЗрди рдЧрд░реНрди рд╡рд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд░ рдкрд╛рд╕рд╡рд░реНрдбрдХреЛ рд╕рд╛рде рд▓рдЧ рдЗрди рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрди рдЖрд╡рд╢реНрдпрдХ рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ Gitlab рдорд╛ рдпрд╕рд▓рд╛рдИ рд╕рдХреНрд╖рдо рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫред рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдлрд╛рдЗрд▓ /etc/gitlab/gitlab .rb рд╕рдореНрдмрдиреНрдзрд┐рдд рд░реЗрдЦрд╛ рд╕рдореНрдкрд╛рджрди рдЧрд░реЗрд░:

grafana['disable_login_form'] = false

рд░ рдкрд░рд┐рд╡рд░реНрддрдирд╣рд░реВ рд▓рд╛рдЧреВ рдЧрд░реНрди Gitlab рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo gitlab-ctl reconfigure

рдпрджрд┐ рддрдкрд╛рдИрдВрд▓реЗ рд╣рд╛рдореНрд░реЛ рдмрдЬрд╛рд░рдмрд╛рдЯ рд╣рд╛рдореНрд░реЛ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Gitlab рд╕реБрд░реБ рдЧрд░реНрдиреБрднрдпреЛ рднрдиреЗ, рддрдкрд╛рдИрдВрд▓реЗ /etc/gitlab/gitlab.rb рдорд╛ рд╕рдореНрдмрдиреНрдзрд┐рдд рд░реЗрдЦрд╛ рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реЗрд░ рд╕рд░реНрднрд░рдорд╛ рдЖрдлреНрдиреЛ URL рдЕрд╕рд╛рдЗрди рдЧрд░реНрди рдЖрд╡рд╢реНрдпрдХ рдЫ:

external_url = 'http://gitlab.mydomain.ru'

рдкреБрди: рдХрдиреНрдлрд┐рдЧрд░реЗрд╕рди рдЧрд░реНрдиреБрд╣реЛрд╕реН:

sudo gitlab-ctl reconfigure

рд░ рддрджрдиреБрд╕рд╛рд░ Grafana рдХреЛ рд▓рд╛рдЧрд┐ рд░рд┐рдбрд┐рд░реЗрдХреНрдЯ URI рдкрд░рд┐рд╡рд░реНрддрди рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдкреНрд░рд╢рд╛рд╕рди рдХреНрд╖реЗрддреНрд░ > рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВ > GitLab Grafana

gitlab.mydomain.ru/-/grafana/login/gitlab

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рддрдкрд╛рдИрдВрд▓реЗ рдкрд╣рд┐рд▓реЛ рдкрдЯрдХ SSO рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд▓рдЧ рдЗрди рдЧрд░реНрджрд╛, Gitlab рд▓реЗ Grafana рд▓рдЧрдЗрди рдЕрдзрд┐рдХреГрдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рдорд╛рдЧреНрдиреЗрдЫред

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рдореЗрдЯреНрд░рд┐рдХреНрд╕

Grafana рдорд╛, рдореБрдЦреНрдп рд╕реЗрд╡рд╛рд╣рд░реВрдХреЛ рддрдпрд╛рд░ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХрд╛ рдЫрдиреН рд░ Gitlab рдУрдореНрдирд┐рдмрд╕ рдХреЛрдЯреАрдорд╛ рдЙрдкрд▓рдмреНрдз рдЫрдиреНред

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?
рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб рдЕрд╡рд▓реЛрдХрди

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?
рд╕реЗрд╡рд╛ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдореЗрдЯреНрд░рд┐рдХреНрд╕ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб

  • рдЕрд╡рд▓реЛрдХрди - рд╕реЗрд╡рд╛рд╣рд░реВ, рд▓рд╛рдорд╣рд░реВ рд░ рд╕рд░реНрднрд░ рд╕реНрд░реЛрдд рдЙрдкрдпреЛрдЧрдХреЛ рд╕реНрдерд┐рддрд┐ рджреЗрдЦрд╛рдЙрдиреЗ рдПрдХ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб
  • Gitaly - рд╕реЗрд╡рд╛ рдирд┐рдЧрд░рд╛рдиреА рдЬрд╕рд▓реЗ Gitlab рднрдгреНрдбрд╛рд░рд╣рд░реВрдорд╛ RPC рдкрд╣реБрдБрдЪ рдкреНрд░рджрд╛рди рдЧрд░реНрджрдЫ
  • NGINX VTS - рд╕реЗрд╡рд╛ рдЯреНрд░рд╛рдлрд┐рдХрдорд╛ рддрдереНрдпрд╛рдЩреНрдХ рд░ рдкреНрд░рддрд┐ рдЕрдиреБрд░реЛрдз HTTP рдХреЛрдбрд╣рд░реВ
  • PostgreSQL - PostgreSQL рдбрд╛рдЯрд╛рдмреЗрд╕рдорд╛ рдЙрдкрд▓рдмреНрдзрддрд╛ рд░ рд▓реЛрдбрдорд╛ рддрдереНрдпрд╛рдЩреНрдХрд╣рд░реВ
  • Praefect - рдЙрдЪреНрдЪ рдЙрдкрд▓рдмреНрдзрддрд╛ Praefect рд╕рдВрдЧ рднрдгреНрдбрд╛рд░рдг рд▓реЛрдб рдирд┐рдЧрд░рд╛рдиреА
  • рд░реЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧ - рд░реЗрд▓ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рд┐рдВрд╣рд╛рд╡рд▓реЛрдХрди рдбреНрдпрд╛рд╕рдмреЛрд░реНрдб
  • Redis - Redis рд╕реЗрд╡рд╛ рдорд╛ рд▓реЛрдб рдирд┐рдЧрд░рд╛рдиреА
  • рд░рдЬрд┐рд╕реНрдЯреНрд░реА - рдЫрд╡рд┐ рд░рдЬрд┐рд╕реНрдЯреНрд░реА рдирд┐рдЧрд░рд╛рдиреА
  • рд╕реЗрд╡рд╛ рдкреНрд▓реЗрдЯрдлрд░реНрдо рдореЗрдЯреНрд░рд┐рдХреНрд╕ - Gitlab рджреНрд╡рд╛рд░рд╛ рд╕рдВрд╕рд╛рдзрди рдЙрдкрдпреЛрдЧ, рд╕реЗрд╡рд╛ рдЙрдкрд▓рдмреНрдзрддрд╛, RPC рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рд░ рддреНрд░реБрдЯрд┐рд╣рд░реВрдХреЛ рд╕рдВрдЦреНрдпрд╛ рджреЗрдЦрд╛рдЙрдиреЗ рд╕реЗрд╡рд╛ рдореЗрдЯреНрд░рд┐рдХреНрд╕ред

рдПрдХреАрдХрд░рдг рдПрдХрджрдо рд╡реНрдпрд╛рдкрдХ рдЫ рд░ Gitlab рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд╕рдБрдЧ рдмрдХреНрд╕ рдмрд╛рд╣рд┐рд░ рднрд┐рдЬреБрдЕрд▓рд╛рдЗрдЬреНрдб Gitlab рдореЗрдЯреНрд░рд┐рдХреНрд╕ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рдЫред

Gitlab рдорд╛, рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВ рдорд░реНрдордд рд░ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░реНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЫреБрдЯреНрдЯреИ рдЯреЛрд▓реА рдЬрд┐рдореНрдореЗрд╡рд╛рд░ рдЫ, рд░ рдмреЗрди рдХреЛрдЪреА, Gitlab рдорд╛ SRE рдЗрдиреНрдЬрд┐рдирд┐рдпрд░рдХрд╛ рдЕрдиреБрд╕рд╛рд░, рдкреВрд░реНрд╡рдирд┐рд░реНрдзрд╛рд░рд┐рдд рд╕реЗрдЯрд┐рдЩрд╣рд░реВ рд░ рддрдпрд╛рд░ рдбреНрдпрд╛рд╕рдмреЛрд░реНрдбрд╣рд░реВ рдзреЗрд░реИ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓рд╛рдИ рдЙрдкрдпреБрдХреНрдд рд╣реБрдиреЗрдЫред

рд░ рдЕрдм рдореБрдЦреНрдп рдХреБрд░рд╛: рд╣рд╛рдореА рд╕рдБрдЧреИ рдмрдЬрд╛рд░ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реМрдВ

рд╣рд╛рдореА рд╕рдореНрдкреВрд░реНрдг Habr рд╕рдореБрджрд╛рдпрд▓рд╛рдИ рдмрдЬрд╛рд░ рдирд┐рд░реНрдорд╛рдгрдорд╛ рд╕рд╣рднрд╛рдЧреА рд╣реБрди рдЖрдордиреНрддреНрд░рд┐рдд рдЧрд░реНрди рдЪрд╛рд╣рдиреНрдЫреМрдВред рддрдкрд╛рдИрдВ рдХрд╕рд░реА рд╕рд╛рдореЗрд▓ рд╣реБрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ рднрдиреЗрд░ рддреАрдирд╡рдЯрд╛ рд╡рд┐рдХрд▓реНрдкрд╣рд░реВ рдЫрдиреН:

рдЫрд╡рд┐ рдЖрдлреИрдВ рддрдпрд╛рд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдЖрдлреНрдиреЛ рдмреНрдпрд╛рд▓реЗрдиреНрд╕рдорд╛ 3000 рд░реВрдмрд▓ рдкреНрд░рд╛рдкреНрдд рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрджрд┐ рддрдкрд╛рдЗрдБ рддреБрд░реБрдиреНрддреИ рд▓рдбрд╛рдИрдорд╛ рд╣рддрд╛рд░ рдЧрд░реНрди рд░ рддрдкрд╛рдЗрдБ рд╣рд░рд╛рдЗрд░рд╣реЗрдХреЛ рдЫрд╡рд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рддрдпрд╛рд░ рд╣реБрдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рд╣рд╛рдореА рддрдкрд╛рдЗрдБрд▓рд╛рдИ рддрдкрд╛рдЗрдБрдХреЛ рдЖрдиреНрддрд░рд┐рдХ рдмреНрдпрд╛рд▓реЗрдиреНрд╕рдорд╛ 3000 рд░реВрдмрд▓рдХреЛ рд╕рд╛рде рдХреНрд░реЗрдбрд┐рдЯ рдЧрд░реНрдиреЗрдЫреМрдВ, рдЬреБрди рддрдкрд╛рдЗрдБ рд╕рд░реНрднрд░рд╣рд░реВрдорд╛ рдЦрд░реНрдЪ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫред

рддрдкрд╛рдИрдВрдХреЛ рдЖрдлреНрдиреИ рдЫрд╡рд┐ рдХрд╕рд░реА рдмрдирд╛рдЙрдиреЗ:

  1. рд╣рд╛рдореАрд╕рдБрдЧ рдЦрд╛рддрд╛ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд╕рд╛рдЗрдЯ
  2. рд╕рдорд░реНрдердирд▓рд╛рдИ рдерд╛рд╣рд╛ рджрд┐рдиреБрд╣реЛрд╕реН рдХрд┐ рддрдкрд╛рдЗрдБ рдЫрд╡рд┐рд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрди рд░ рдкрд░реАрдХреНрд╖рдг рдЧрд░реНрди рдЬрд╛рдБрджреИ рд╣реБрдиреБрд╣реБрдиреНрдЫ
  3. рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ 3000 рд░реВрдмрд▓ рдХреНрд░реЗрдбрд┐рдЯ рдЧрд░реНрдиреЗрдЫреМрдВ рд░ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯрд╣рд░реВ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреЗ рдХреНрд╖рдорддрд╛ рд╕рдХреНрд╖рдо рдЧрд░реНрдиреЗрдЫреМрдВ
  4. рд╕рдлрд╛ рдЕрдкрд░реЗрдЯрд┐рдЩ рд╕рд┐рд╕реНрдЯрдордХреЛ рд╕рд╛рде рднрд░реНрдЪреБрдЕрд▓ рд╕рд░реНрднрд░ рдЕрд░реНрдбрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
  5. рдпреЛ VPS рдорд╛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╕реНрдерд╛рдкрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН рд░ рдпрд╕рд▓рд╛рдИ рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реН
  6. рд╕рдлреНрдЯрд╡реЗрдпрд░ рдкрд░рд┐рдирд┐рдпреЛрдЬрдирдХреЛ рд▓рд╛рдЧрд┐ рдирд┐рд░реНрджреЗрд╢рди рд╡рд╛ рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН
  7. рдХрдиреНрдлрд┐рдЧрд░ рдЧрд░рд┐рдПрдХреЛ рд╕рд░реНрднрд░рдХреЛ рд▓рд╛рдЧрд┐ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрдиреБрд╣реЛрд╕реН
  8. "рд╕рд░реНрднрд░ рдЯреЗрдореНрдкреНрд▓реЗрдЯ" рдбреНрд░рдк-рдбрд╛рдЙрди рд╕реВрдЪреАрдорд╛ рдкрд╣рд┐рд▓реЗ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рд╕реНрдиреНрдпрд╛рдкрд╕рдЯ рдЪрдпрди рдЧрд░реЗрд░ рдирдпрд╛рдБ рднрд░реНрдЪреБрдЕрд▓ рд╕рд░реНрднрд░ рдЕрд░реНрдбрд░ рдЧрд░реНрдиреБрд╣реЛрд╕реНред
  9. рдпрджрд┐ рд╕рд░реНрднрд░ рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗ, рдЪрд░рдг 6 рдорд╛ рдкреНрд░рд╛рдкреНрдд рд╕рд╛рдордЧреНрд░реАрд╣рд░реВ рдкреНрд░рд╛рд╡рд┐рдзрд┐рдХ рд╕рдорд░реНрдердирдорд╛ рд╕реНрдерд╛рдирд╛рдиреНрддрд░рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН
  10. рдпрджрд┐ рддреНрдпрд╣рд╛рдБ рддреНрд░реБрдЯрд┐ рдЫ рднрдиреЗ, рддрдкрд╛рдИрдВ рдХрд╛рд░рдгрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рдЬрд╛рдБрдЪ рдЧрд░реНрди рд░ рд╕реЗрдЯрдЕрдк рджреЛрд╣реЛрд░реНрдпрд╛рдЙрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ

рд╡реНрдпрд╡рд╕рд╛рдп рдорд╛рд▓рд┐рдХрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐: рддрдкрд╛рдИрдВрдХреЛ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдкреНрд░рд╕реНрддрд╛рд╡ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрджрд┐ рддрдкрд╛рдИрдВ рдПрдХ рд╕рдлреНрдЯрд╡реЗрдпрд░ рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛ рд╣реБрдиреБрд╣реБрдиреНрдЫ рдЬреБрди VPS рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдЫ, рддрдм рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдмрдЬрд╛рд░рдорд╛ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рдпрд╕рд░реА рд╣рд╛рдореА рддрдкрд╛рдИрдВрд▓рд╛рдИ рдирдпрд╛рдБ рдЧреНрд░рд╛рд╣рдХрд╣рд░реВ, рдЯреНрд░рд╛рдлрд┐рдХ рд░ рдЬрд╛рдЧрд░реВрдХрддрд╛ рд▓реНрдпрд╛рдЙрди рдорджреНрджрдд рдЧрд░реНрди рд╕рдХреНрдЫреМрдВред рд╣рд╛рдореАрд▓рд╛рдИ рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН

рдХреЗрд╡рд▓ рдЯрд┐рдкреНрдкрдгреАрд╣рд░реВрдорд╛ рд╣рд╛рдореАрд▓рд╛рдИ рдПрдЙрдЯрд╛ рдЫрд╡рд┐ рд╕реБрдЭрд╛рд╡ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд▓реЗрдЦреНрдиреБрд╣реЛрд╕реН рдХреБрди рд╕рдлреНрдЯрд╡реЗрдпрд░рдХреЛ рд╕рд╛рде рддрдкрд╛рдИ рднрд░реНрдЪреБрдЕрд▓ рдореЗрд╕рд┐рдирд╣рд░реВ рдПрдХ рдХреНрд▓рд┐рдХрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрд╖рдо рд╣реБрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ?

рддрдкрд╛рдИрдВ RUVDS рдмрдЬрд╛рд░рдорд╛ рдХреЗ рдорд┐рд╕ рдЧрд░реНрдиреБрд╣реБрдиреНрдЫ?

рдкреНрд░рддреНрдпреЗрдХ рдЖрддреНрдо-рд╕рдореНрдорд╛рди рд╣реЛрд╕реНрдЯрд┐рдВрдЧ рдХрдореНрдкрдиреАрд▓реЗ рддрд┐рдиреАрд╣рд░реВрдХреЛ рдмрдЬрд╛рд░рдорд╛ рдХреЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрдкрд░реНрдЫ?

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рд╣рд╛рдореА рдмрдЬрд╛рд░ рдЕрдкрдбреЗрдЯ рдЧрд░реНрджреИрдЫреМрдВ: рд╣рд╛рдореАрд▓рд╛рдИ рднрдиреНрдиреБрд╣реЛрд╕реН рдХреЗ рд░рд╛рдореНрд░реЛ рдЫ?

рджрд░реНрддрд╛ рднрдПрдХрд╛ рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорд╛рддреНрд░ рд╕рд░реНрд╡реЗрдХреНрд╖рдгрдорд╛ рднрд╛рдЧ рд▓рд┐рди рд╕рдХреНрдЫрдиреНред рд╕рд╛рдЗрди рдЗрди рдЧрд░реНрдиреБрд╣реЛрд╕реНрдХреГрдкрдпрд╛

рд╣рд╛рдореАрд▓реЗ рдмрдЬрд╛рд░рдорд╛ рдХреБрди рдЫрд╡рд┐рд╣рд░реВ рдкрд╣рд┐рд▓реЗ рд╕рдорд╛рд╡реЗрд╢ рдЧрд░реНрдиреБрдкрд░реНрдЫ?

  • 50,0%LEMP10

  • 15,0%Drupal3

  • 10,0%Joomla2

  • 5,0%Dokku1

  • 0,0%PacVim0

  • 0,0%рд░рдирдХреНрд▓рд╛рдЙрдбреж

  • 5,0%рдХреЛрдб рд╕рд░реНрднрд░ рез

  • 15,0%рдШреЛрд╕реНрдЯрдХреНрд╕рдирдореНрдХреНрд╕

  • 5,0%WikiJs1

  • 0,0%рдкреНрд░рд╡рдЪрди реж

  • 0,0%Rstudio0

  • 5,0%OpenCart1

  • 35,0%Django7

  • 40,0%Laravel8

  • 20,0%рд░реБрдмреА рдЕрди рд░реЗрд▓рд╣рд░реВ 4

  • 55,0%NodeJs11

20 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рдорддрджрд╛рди рдЧрд░реЗред 12 рдкреНрд░рдпреЛрдЧрдХрд░реНрддрд╛рд╣рд░реВ рд░реЛрдХрд┐рдПред

рд╕реНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди