เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เดˆ เดตเตผเดทเด‚ เด‰เตฝเดชเตเดชเดจเตเดจเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเดพเดจเตเดณเตเดณ เด…เดคเดฟเดฎเต‹เดนเดฎเดพเดฏ เดฒเด•เตเดทเตเดฏเด™เตเด™เตพ เดžเด™เตเด™เตพ เดธเตเดตเดฏเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟเดฏเดฟเดŸเตเดŸเตเดฃเตเดŸเต.

เดšเดฟเดฒ เดœเต‹เดฒเดฟเด•เตพเด•เตเด•เต เด—เต—เดฐเดตเดฎเดพเดฏ เดคเดฏเตเดฏเดพเดฑเต†เดŸเตเดชเตเดชเต เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เด‡เดคเดฟเดจเดพเดฏเดฟ เดžเด™เตเด™เตพ เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเดฟเตฝ เดจเดฟเดจเตเดจเต เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เต เดถเต‡เด–เดฐเดฟเด•เตเด•เตเดจเตเดจเต: เดกเต†เดตเดฒเดชเตเดชเตผเดฎเดพเตผ, เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผเดฎเดพเตผ, เดŸเต€เด‚ เดฒเต€เดกเตผเดฎเดพเตผ, เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เดธเตเดชเต†เดทเตเดฏเดฒเดฟเดธเตเดฑเตเดฑเตเด•เตพ เดŽเดจเตเดจเดฟเดตเดฐเต† เดžเด™เตเด™เตพ เด“เดซเต€เดธเดฟเดฒเต‡เด•เตเด•เต เด•เตเดทเดฃเดฟเด•เตเด•เตเดจเตเดจเต.

เดšเดฟเดฒเดคเดฟเตฝ, เดซเต€เดกเตโ€Œเดฌเดพเด•เตเด•เดฟเดจเตเดณเตเดณ เดชเตเดฐเดคเดฟเด•เดฐเดฃเดฎเดพเดฏเดฟ เดžเด™เตเด™เตพ เดธเต†เตผเดตเดฑเตเด•เตพ เดชเตเดฑเดชเตเดชเต†เดŸเตเดตเดฟเด•เตเด•เตเดจเตเดจเต, เด…เดคเตเดชเต‹เดฒเต† เดคเดจเตเดจเต† เดฎเด™เตเด™เดฟเดฏ เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดตเดฟเดฆเตเดฏเดพเตผเดคเตเดฅเดฟเด•เตพเด•เตเด•เตŠเดชเตเดชเด‚. UI/UX, เดฑเดซเดฑเตปเดธเต เดชเตเดธเตเดคเด•เดคเตเดคเดฟเดจเดพเดฏเตเดณเตเดณ เดตเดฟเดฆเตเดฏเดพเดญเตเดฏเดพเดธ เดฒเต‡เด–เดจเด™เตเด™เดณเตเดŸเต† เดฌเดพเด•เตเด•เตเดฒเต‹เด—เต, เด‰เดชเดฏเต‹เด•เตเดคเตƒ เด…เดจเตเดญเดตเด‚ เดฎเต†เดšเตเดšเดชเตเดชเต†เดŸเตเดคเตเดคเตเดจเตเดจเดคเดฟเดจเตเดณเตเดณ เดตเดฒเดฟเดฏ เดชเดฆเตเดงเดคเดฟเด•เตพ เดŽเดจเตเดจเดฟเดตเดฏเต†เด•เตเด•เตเดฑเดฟเดšเตเดšเต เดšเตผเดšเตเดš เดšเต†เดฏเตเดฏเตเดจเตเดจ เดตเดณเดฐเต† เดคเดฟเดฐเด•เตเด•เตเดณเตเดณ เดšเดพเดฑเตเดฑเตเด•เตพ เดžเด™เตเด™เตพเด•เตเด•เตเดฃเตเดŸเต.

เดฎเดฟเด•เตเด• เดฎเดพเดฑเตเดฑเด™เตเด™เตพเด•เตเด•เตเด‚ เดงเดพเดฐเดพเดณเด‚ เดตเดฟเด•เดธเดจ เดธเดฎเดฏเด‚ เด†เดตเดถเตเดฏเดฎเดพเดฃเต, เดชเด•เตเดทเต‡ เดšเดจเตเดคเดธเตเดฅเดฒเด‚ - เดคเดฟเด•เดšเตเดšเตเด‚ เดตเตเดฏเดคเตเดฏเดธเตเดคเดฎเดพเดฏ เด’เดฐเต เด•เดฅ. เดธเตโ€Œเดจเดพเดชเตเดชเตโ€Œเดทเต‹เดŸเตเดŸเตเด•เดณเตเดŸเต† เดตเดฐเดตเต‹เดŸเต†, เด’เดฐเต เด‡เดฎเต‡เดœเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดฌเดพเดนเตเดฏ เดธเดฟเดธเตเดฑเตเดฑเด‚ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผเดฎเดพเดฐเต† เด†เด•เตผเดทเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพเด•เตเด•เต เด…เดตเดธเดฐเดฎเตเดฃเตเดŸเต, เด…เดคเตเดตเดดเดฟ เด’เดฐเต เดฆเดฟเดตเดธเด‚ เด•เตŠเดฃเตเดŸเต เด…เดคเต เดตเดฟเดชเดฃเดฟเดฏเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚.

เดŽเด™เตเด™เดจเต† เดธเด‚เดญเดพเดตเดจ เดšเต†เดฏเตเดฏเดพเด‚ เดšเดจเตเดคเดธเตเดฅเดฒเด‚ เดžเด™เตเด™เดณเตเดŸเต† เด•เตเดฒเดฏเตปเตเดฑเต เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดžเด™เตเด™เดณเตเดŸเต† เดชเตเดคเดฟเดฏ เดšเดฟเดคเตเดฐเดคเตเดคเดฟเตปเตเดฑเต† เด‰เดฆเดพเดนเดฐเดฃเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดžเด™เตเด™เตพ RUVDS เด•เดพเดฃเดฟเด•เตเด•เตเด‚ เดŸเด•เต‡เดธเดฟ - GitLab

เดธเต†เตปเตเดฑเต‹เดธเต 8-เตฝ เด’เดฐเต Gitlab เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดŽเด™เตเด™เดจเต† เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚

Gitlab เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเต, 8 GB เดฑเดพเดฎเตเด‚ 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 เดฏเดพเดจเตเดคเตเดฐเดฟเด•เดฎเดพเดฏเดฟ Lets Encrypt เดธเตผเดŸเตเดŸเดฟเดซเดฟเด•เตเด•เดฑเตเดฑเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด‚.

เดžเด™เตเด™เดณเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด•เดพเดฐเดฃเด‚ เดžเด™เตเด™เตพ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเดพเดฏเดฟ เด’เดฐเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดจเดฟเตผเดฎเตเดฎเดฟเด•เตเด•เตเด•เดฏเดพเดฏเดฟเดฐเตเดจเตเดจเต, เดคเตเดŸเตผเดจเตเดจเต เดฏเตเดฑ เด’เดฐเต เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต เดตเดฟเดฒเดพเดธเด‚ เดธเดœเตเดœเดฎเดพเด•เตเด•เดฟ (เด…เดคเต เดญเดพเดตเดฟเดฏเดฟเตฝ เดชเตเดฐเดถเตโ€Œเดจเด™เตเด™เดณเตŠเดจเตเดจเตเดฎเดฟเดฒเตเดฒเดพเดคเต† เดฎเดพเดฑเตเดฑเดพเดจเดพเด•เตเด‚):

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

เด‡เดคเดฟเดจเตเดถเต‡เดทเด‚, เดŽเดจเตเดจเดคเดฟเดฒเต‡เด•เตเด•เต เดชเต‹เดฏเดฟ Gitlab เดธเต‡เดตเดจเด™เตเด™เตพ เดชเตเดฐเดตเตผเดคเตเดคเดฟเด•เตเด•เตเดจเตเดจเตเดฃเตเดŸเต‹เดฏเต†เดจเตเดจเต เดชเดฐเดฟเดถเต‹เดงเดฟเด•เตเด•เดพเด‚

http://vps_ip_address/

เดฑเต‚เดŸเตเดŸเต เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผ เด…เด•เตเด•เตŒเดฃเตเดŸเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดชเตเดฐเดพเดฐเด‚เดญ เดฐเดนเดธเตเดฏเดตเดพเด•เตเด•เต เดธเดœเตเดœเดฎเดพเด•เตเด•เดพเตป เดธเดฟเดธเตเดฑเตเดฑเด‚ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เด†เดตเดถเตเดฏเดชเตเดชเต†เดŸเตเด‚.

เดˆ เด˜เดŸเตเดŸเดคเตเดคเดฟเตฝ, เดžเด™เตเด™เตพ เดธเต†เตผเดตเดฑเดฟเตปเตเดฑเต† เด’เดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดŽเดŸเตเด•เตเด•เตเด‚, เดคเตเดŸเตผเดจเตเดจเต เดžเด™เตเด™เตพ เด…เดคเต เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตเดฏเตเด‚.

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เด…เดคเดพเดฃเต เดŽเดฒเตเดฒเดพเด‚!

เดฌเต‹เดฃเดธเต: เดตเดฟเดชเตเดฒเต€เด•เดฐเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดฒเต‚เดŸเต† เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดจเตเดจ เดฐเดธเด•เดฐเดฎเดพเดฏ เด•เดพเดฐเตเดฏเด™เตเด™เตพ เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด‚ เดตเต†เตผเดšเตเดตเตฝ GitLab เด‡เดฎเต‡เดœเดฟเดจเตŠเดชเตเดชเด‚.

เด—เตเดฐเดพเดซเดพเดจ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต Gitlab เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต

เดฎเต‚เดจเตเดจเต เดตเตผเดทเด‚ เดฎเตเดฎเตเดชเต, Gitlab เดธเต‡เดตเดจเด™เตเด™เดณเตเดฎเดพเดฏเดฟ เดฌเดจเตเดงเดชเตเดชเต†เดŸเตเดŸ เด’เดฐเต เดตเดฒเดฟเดฏ เด…เดณเดตเตเด•เต‹เดฒเตเด•เตพ เด•เตˆเด•เดพเดฐเตเดฏเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเดพเดฏเดฟ Gitlab เดŸเต€เด‚ เด’เดฐเต เดจเดฟเดฐเต€เด•เตเดทเดฃ เดธเด‚เดตเดฟเดงเดพเดจเด‚ เดจเดŸเดชเตเดชเดฟเดฒเดพเด•เตเด•เดฟ.

เด…เดคเดฟเดจเตเดถเต‡เดทเด‚, Gitlab เด…เดคเดฟเตปเตเดฑเต† เด‡เตปเดธเตเดฑเตเดฑเดพเดณเต‡เดทเตป เดชเดพเด•เตเด•เต‡เดœเต เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเตเดฎเดพเดฏเดฟ เดทเดฟเดชเตเดชเดฟเด‚เด—เต เด†เดฐเด‚เดญเดฟเดšเตเดšเต, เด…เดคเดฟเตปเตเดฑเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต† เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต เดจเตฝเด•เตเดจเตเดจ เดจเดฟเดฐเต€เด•เตเดทเดฃ เด•เดดเดฟเดตเตเด•เตพ เดชเตเดฐเดฏเต‹เดœเดจเดชเตเดชเต†เดŸเตเดคเตเดคเดพเตป เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเดจเตเดจเต.

Go- เตฝ เดŽเดดเตเดคเดฟเดฏเดคเตเด‚ SoundCloud-เตฝ เดตเดฟเด•เดธเดฟเดชเตเดชเดฟเดšเตเดšเดคเตเดฎเดพเดฏ เด’เดฐเต เด“เดชเตเดชเตบ (Apache 2.0) เดธเดฎเดฏ เดถเตเดฐเต‡เดฃเดฟ DBMS เด†เดฃเต เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเต. เดฎเดฑเตเดฑเตŠเดฐเต เดตเดฟเดงเดคเตเดคเดฟเตฝ เดชเดฑเดžเตเดžเดพเตฝ, เด‡เดคเต เดจเดฟเด™เตเด™เดณเตเดŸเต† เด…เดณเดตเตเด•เตพ เดธเด‚เดญเดฐเดฟเด•เตเด•เตเดจเตเดจเต. เดชเตเดฐเตŠเดฎเดฟเดคเตเดฏเต‚เดธเดฟเตปเตเดฑเต† เดฐเดธเด•เดฐเดฎเดพเดฏ เด’เดฐเต เดธเดตเดฟเดถเต‡เดทเดค, เดคเดจเตเดจเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจ เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เด’เดฐเต เด•เต‚เดŸเตเดŸเดคเตเดคเดฟเตฝ เดจเดฟเดจเตเดจเต เด…เดคเต เดคเดจเตเดจเต† เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เดตเดฒเดฟเด•เตเด•เตเดจเตเดจเต เดŽเดจเตเดจเดคเดพเดฃเต (เด’เดฐเต เดชเตเตพ เดšเต†เดฏเตเดฏเตเดจเตเดจเต). เด‡เด•เตเด•เดพเดฐเดฃเดคเตเดคเดพเตฝ, เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเดฟเดจเต เด•เตเดฏเต‚เด•เดณเต‹ เดฎเดฑเตเดฑเต†เดจเตเดคเต†เด™เตเด•เดฟเดฒเตเดฎเต‹ เดคเดŸเดธเตเดธเดชเตเดชเต†เดŸเดพเตป เด•เดดเดฟเดฏเดฟเดฒเตเดฒ, เด…เดคเดพเดฏเดคเต เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚ เด’เดฐเดฟเด•เตเด•เดฒเตเด‚ เดธเดฟเดธเตเดฑเตเดฑเดคเตเดคเดฟเตปเตเดฑเต† เดคเดŸเดธเตเดธเดฎเดพเด•เดฟเดฒเตเดฒ. เดชเตเดฐเต‹เดœเด•เตเดฑเตเดฑเต เดฐเดธเด•เดฐเดฎเดพเดฃเต, เด•เดพเดฐเดฃเด‚ เด‡เดคเต เด…เดŸเดฟเดธเตเดฅเดพเดจเดชเดฐเดฎเดพเดฏเดฟ เดคเดฟเดฐเดถเตเดšเต€เดจเดฎเดพเดฏ เดธเตเด•เต†เดฏเดฟเดฒเดฟเด‚เด—เต‹ เด‰เดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดคเดฏเต‹ เดจเตฝเด•เตเดจเตเดจเดฟเดฒเตเดฒ.

เด’เดฐเต เดตเตผเดทเด‚ เดฎเตเดฎเตเดชเต, เดกเดพเดทเตเดฌเต‹เตผเดกเตเด•เตพ เด‡เดฒเตเดฒเดพเดคเต† เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เดตเดณเดฐเต† เดธเต—เด•เดฐเตเดฏเดชเตเดฐเดฆเดฎเดฒเตเดฒเต†เดจเตเดจเต Gitlab เดŸเต€เด‚ เดจเดฟเด—เดฎเดจเด‚ เดšเต†เดฏเตเดคเต. เด…เดคเดฟเดจเดพเตฝ เด—เตเดฐเดพเดซเดพเดจ เดธเตเดตเดฎเต‡เดงเดฏเดพ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดฏเดพเดคเต† เดคเดจเตเดจเต† เดกเดพเดฑเตเดฑ เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เดพเตป เด…เดตเดฐเตเดŸเต† เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเต เด•เดธเตเดฑเตเดฑเดฎเตˆเดธเตเดกเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเด•เดณเตเดฎเดพเดฏเดฟ เด…เดตเตผ เด—เตเดฐเดพเดซเดพเดจเดฏเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเต.

เดชเดคเดฟเดชเตเดชเต 12.0 เดฎเตเดคเตฝ, Gitlab เด—เตเดฐเดพเดซเดพเดจเดฏเต† เดธเด‚เดฏเต‹เดœเดฟเดชเตเดชเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟเดฏเดพเดฏเดฟ SSO-เดฎเดพเดฏเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดšเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต, เด•เต‚เดŸเดพเดคเต† เดˆ URL-เตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต.

เดชเตเดฐเต‹เดฎเดฟเดคเตเดฏเต‚เดธเตเดฎเดพเดฏเตเดณเตเดณ Gitlab เดธเด‚เดฏเต‹เดœเดจเดคเตเดคเดฟเตปเตเดฑเต† เดฐเดฃเตเดŸเต เดตเตเดฏเดคเตเดฏเดธเตเดค เดญเดพเด—เด™เตเด™เดณเตเดฃเตเดŸเต:

  • GitLab เดฎเต‹เดฃเดฟเดฑเตเดฑเดฑเดฟเด‚เด—เต (เด“เดฎเตโ€Œเดจเดฟเดฌเดธเต)
  • เด’เดฐเต เด•เตเดฌเตผเดจเต†เดฑเตเดฑเดธเต เด•เตเดฒเดธเตเดฑเตเดฑเดฑเดฟเดฒเต† เดตเตเดฏเด•เตเดคเดฟเด—เดค GitLab เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต

เด‡เดคเต†เด™เตเด™เดจเต† เด‰เดชเดฏเต‡เดพเด—เดฟเด•เตเด•เดฃเด‚

GitLab เด…เดคเดฟเตปเตเดฑเต† เดชเตเดฐเดงเดพเดจ เด‡เตปเดธเตเดฑเตเดฑเดฒเต‡เดทเตป เดชเดพเด•เตเด•เต‡เดœเต เดŽเดจเตเดจเต เดตเดฟเดณเดฟเด•เตเด•เตเดจเตเดจเดคเต "Omnibus" เด†เดฃเต.

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เด—เตเดฐเดพเดซเดพเดจ เดŽเด™เตเด™เดจเต† เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เดพเด‚

เด—เตเดฐเดพเดซเดพเดจ เดฒเต‹เด—เดฟเตป, เดชเดพเดธเตโ€Œเดตเต‡เดกเต เดŽเดจเตเดจเดฟเดต เดกเดฟเดซเต‹เตพเดŸเตเดŸเดพเดฏเดฟ เดชเตเดฐเดตเตผเดคเตเดคเดจเดฐเดนเดฟเดคเดฎเดพเด•เตเด•เดฟเดฏเดฟเดฐเดฟเด•เตเด•เตเดจเตเดจเต (เดŽเดธเตเดŽเดธเตเด’ เดฒเต‹เด—เดฟเตป เดฎเดพเดคเตเดฐเดฎเต‡ เด…เดจเตเดตเดฆเดฟเด•เตเด•เต‚), เดŽเดจเตเดจเดพเตฝ เด…เดกเตเดฎเดฟเดจเดฟเดธเตเดŸเตเดฐเต‡เดฑเตเดฑเตผ เด…เดตเด•เดพเดถเด™เตเด™เดณเตเดณเตเดณ เด’เดฐเต เด…เด•เตเด•เต—เดฃเตเดŸเดฟเดฒเต‡เด•เตเด•เต เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเต‡เดฃเตเดŸเดคเตเดฃเตเดŸเต†เด™เตเด•เดฟเตฝ เด…เดฒเตเดฒเต†เด™เตเด•เดฟเตฝ เด‰เดชเดฏเต‹เด•เตเดคเตƒเดจเดพเดฎเดตเตเด‚ เดชเดพเดธเตโ€Œเดตเต‡เดกเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเดพเตป เด•เดดเดฟเดฏเตเดฎเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เตพ เด‡เดคเต 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

เด…เดคเดจเตเดธเดฐเดฟเดšเตเดšเต เด—เตเดฐเดพเดซเดพเดจเดฏเตเดŸเต† เดฑเต€เดกเดฏเดฑเด•เตโ€ŒเดŸเต เดฏเตเด†เตผเด เดฎเดพเดฑเตเดฑเตเด•

เด…เดกเตเดฎเดฟเตป เดเดฐเดฟเดฏ > เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพ > GitLab Grafana

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

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เดจเดฟเด™เตเด™เตพ SSO เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเต เด†เดฆเตเดฏเดฎเดพเดฏเดฟ เดฒเต‹เด—เดฟเตป เดšเต†เดฏเตเดฏเตเดฎเตเดชเต‹เตพ, Gitlab เด—เตเดฐเดพเดซเดพเดจ เดฒเต‹เด—เดฟเตป เด…เด‚เด—เต€เด•เดฐเดฟเด•เตเด•เดพเตป เด…เดจเตเดฎเดคเดฟ เดšเต‹เดฆเดฟเด•เตเด•เตเด‚.

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต

เด—เตเดฐเดพเดซเดพเดจเดฏเดฟเตฝ, เดชเตเดฐเดงเดพเดจ เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เดฑเต†เดกเดฟเดฎเต†เดฏเตโ€Œเดกเต เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเด•เตพ เด•เต‹เตบเดซเดฟเด—เตผ เดšเต†เดฏเตโ€Œเดคเต เด—เดฟเดฑเตเดฑเตโ€Œเดฒเดพเดฌเต เด“เดฎเตโ€Œเดจเดฟเดฌเดธเต เดตเดฟเดญเดพเด—เดคเตเดคเดฟเตฝ เดฒเดญเตเดฏเดฎเดพเดฃเต.

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?
เดกเดพเดทเตเดฌเต‹เตผเดกเต เด…เดตเดฒเต‹เด•เดจเด‚

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?
เดธเต‡เดตเดจ เดชเตเดฒเดพเดฑเตเดฑเตเดซเต‹เด‚ เดฎเต†เดŸเตเดฐเดฟเด•เตเดธเต เดกเดพเดทเตเดฌเต‹เตผเดกเต

  • เด…เดตเดฒเต‹เด•เดจเด‚ - เดธเต‡เดตเดจเด™เตเด™เดณเตเดŸเต† เดจเดฟเดฒ, เด•เตเดฏเต‚เด•เตพ, เดธเต†เตผเดตเตผ เดฑเดฟเดธเต‹เดดเตเดธเต เด‰เดชเดฏเต‹เด—เด‚ เดŽเดจเตเดจเดฟเดต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจ เด’เดฐเต เด…เดตเดฒเต‹เด•เดจ เดกเดพเดทเตเดฌเต‹เตผเดกเต
  • Gitaly - Gitlab เดฑเดฟเดชเตเดชเต‹เดธเดฟเดฑเตเดฑเดฑเดฟเด•เดณเดฟเดฒเต‡เด•เตเด•เต RPC เด†เด•เตเดธเดธเต เดจเตฝเด•เตเดจเตเดจ เดธเต‡เดตเดจ เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚
  • NGINX VTS - เด“เดฐเต‹ เด…เดญเตเดฏเตผเดคเตเดฅเดจเดฏเดฟเดฒเตเด‚ เดธเต‡เดตเดจ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เตเด‚ HTTP เด•เต‹เดกเตเด•เดณเตเด‚ เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ
  • PostgreSQL - PostgreSQL เดกเดพเดฑเตเดฑเดพเดฌเต‡เดธเดฟเดฒเต† เดฒเดญเตเดฏเดคเดฏเตเด‚ เดฒเต‹เดกเตเด‚ เดธเด‚เดฌเดจเตเดงเดฟเดšเตเดš เดธเตเดฅเดฟเดคเดฟเดตเดฟเดตเดฐเด•เตเด•เดฃเด•เตเด•เตเด•เตพ
  • เดชเตเดฐเต†เดซเต†เด•เตเดฑเตเดฑเต - เด‰เดฏเตผเดจเตเดจ เดฒเดญเตเดฏเดคเดฏเต‹เดŸเตเด•เต‚เดŸเดฟเดฏ เดธเตเดฑเตเดฑเต‹เดฑเต‡เดœเต เดฒเต‹เดกเต เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚
  • เดฑเต†เดฏเดฟเตฝเดธเต เด†เดชเตเดชเต - เดฑเต†เดฏเดฟเตฝเดธเต เด†เดชเตเดฒเดฟเด•เตเด•เต‡เดทเดจเตเด•เตพเด•เตเด•เดพเดฏเตเดณเตเดณ เด…เดตเดฒเต‹เด•เดจ เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเต
  • เดฑเต†เดกเดฟเดธเต - เดฑเต†เดกเดฟเดธเต เดธเต‡เดตเดจเดคเตเดคเดฟเดฒเต† เดฒเต‹เดกเต เดจเดฟเดฐเต€เด•เตเดทเดฟเด•เตเด•เตเดจเตเดจเต
  • เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ - เด‡เดฎเต‡เดœเต เดฐเดœเดฟเดธเตเดŸเตเดฐเดฟ เดจเดฟเดฐเต€เด•เตเดทเดฃเด‚
  • เดธเต‡เดตเดจ เดชเตเดฒเดพเดฑเตเดฑเตโ€Œเดซเต‹เด‚ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต - เด—เดฟเดฑเตเดฑเตโ€Œเดฒเดพเดฌเต, เดธเต‡เดตเดจ เดฒเดญเตเดฏเดค, เด†เตผเดชเดฟเดธเดฟ เด…เดญเตเดฏเตผเดคเตเดฅเดจเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚, เดชเดฟเดถเด•เตเด•เดณเตเดŸเต† เดŽเดฃเตเดฃเด‚ เดŽเดจเตเดจเดฟเดต เด•เดพเดฃเดฟเด•เตเด•เตเดจเตเดจ เดธเต‡เดตเดจ เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต.

เดธเด‚เดฏเต‹เดœเดจเด‚ เดคเดฟเด•เดšเตเดšเตเด‚ เดธเดฎเด—เตเดฐเดฎเดพเดฃเต เด•เต‚เดŸเดพเดคเต† Gitlab เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดฆเตƒเดถเตเดฏเดตเตฝเด•เตเด•เดฐเดฟเด•เตเด•เดชเตเดชเต†เดŸเตเดŸ Gitlab เดฎเต†เดŸเตเดฐเดฟเด•เตโ€Œเดธเต เดฌเต‹เด•เตโ€Œเดธเดฟเดจเต เดชเตเดฑเดคเตเดคเต เดคเดจเตเดจเต† เดตเดฟเดถเด•เดฒเดจเด‚ เดšเต†เดฏเตเดฏเดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเตเดฃเตเดŸเต.

Gitlab-เตฝ, เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเด•เตพ เดชเดฐเดฟเดชเดพเดฒเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเดจเตเด‚ เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเดจเตเดจเดคเดฟเดจเตเด‚ เด’เดฐเต เดชเตเดฐเดคเตเดฏเต‡เด• เดŸเต€เดฎเดฟเดจเต เด‰เดคเตเดคเดฐเดตเดพเดฆเดฟเดคเตเดคเดฎเตเดฃเตเดŸเต, เด•เต‚เดŸเดพเดคเต† Gitlab เดฒเต† SRE เดŽเดžเตเดšเดฟเดจเต€เดฏเตผ เดฌเต†เตป เด•เตŠเดšเตเดšเดฟเดฏเตเดŸเต† เด…เดญเดฟเดชเตเดฐเดพเดฏเดคเตเดคเดฟเตฝ, เดธเตเดฅเดฟเดฐเดธเตเดฅเดฟเดคเดฟ เด•เตเดฐเดฎเต€เด•เดฐเดฃเด™เตเด™เดณเตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟเดฏ เดกเดพเดทเตโ€Œเดฌเต‹เตผเดกเตเด•เดณเตเด‚ เดฎเดฟเด•เตเด• เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เตเด‚ เด…เดจเตเดฏเต‹เดœเตเดฏเดฎเดพเดฃเต.

เด‡เดชเตเดชเต‹เตพ เดชเตเดฐเดงเดพเดจ เด•เดพเดฐเตเดฏเด‚: เดจเดฎเตเด•เตเด•เต เด’เดฐเตเดฎเดฟเดšเตเดšเต เด’เดฐเต เดตเดฟเดชเดฃเดฟ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚

เดšเดจเตเดคเดธเตเดฅเดฒเด‚ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเดจเตเดจเดคเดฟเตฝ เดชเด™เตเด•เดพเดณเดฟเดฏเดพเด•เดพเตป เดฎเตเดดเตเดตเตป เดนเดฌเตเตผ เดธเดฎเต‚เดนเดคเตเดคเต†เดฏเตเด‚ เด•เตเดทเดฃเดฟเด•เตเด•เดพเตป เดžเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเต. เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเด™เตเด™เดจเต† เดšเต‡เดฐเดพเด‚ เดŽเดจเตเดจเดคเดฟเดจเต เดฎเต‚เดจเตเดจเต เด“เดชเตเดทเดจเตเด•เตพ เด‰เดฃเตเดŸเต:

เดšเดฟเดคเตเดฐเด‚ เดธเตเดตเดฏเด‚ เดคเดฏเตเดฏเดพเดฑเดพเด•เตเด•เดฟ เดจเดฟเด™เตเด™เดณเตเดŸเต† เดฌเดพเดฒเตปเดธเดฟเดฒเต‡เด•เตเด•เต 3000 เดฑเต‚เดฌเดฟเตพเดธเต เดจเต‡เดŸเตเด•

เดจเดฟเด™เตเด™เตพ เด‰เดŸเดจเดŸเดฟ เดฏเตเดฆเตเดงเดคเตเดคเดฟเตฝ เดเตผเดชเตเดชเต†เดŸเดพเดจเตเด‚ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด‡เดฒเตเดฒเดพเดคเตเดค เด‡เดฎเต‡เดœเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดคเดฏเตเดฏเดพเดฑเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดจเดฟเด™เตเด™เดณเตเดŸเต† เด†เดจเตเดคเดฐเดฟเด• เดฌเดพเดฒเตปเดธเดฟเดฒเต‡เด•เตเด•เต เดžเด™เตเด™เตพ 3000 เดฑเตเดฌเดฟเดณเตเด•เตพ เด•เตเดฐเต†เดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด‚ - เดจเดฟเด™เตเด™เตพเด•เตเด•เต เด…เดคเต เดธเต†เตผเดตเดฑเตเด•เดณเดฟเตฝ เดšเต†เดฒเดตเดดเดฟเด•เตเด•เดพเด‚.

เดจเดฟเด™เตเด™เดณเตเดŸเต† เดšเดฟเดคเตเดฐเด‚ เดŽเด™เตเด™เดจเต† เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเด‚:

  1. เดžเด™เตเด™เดณเต‹เดŸเตŠเดชเตเดชเด‚ เด’เดฐเต เด…เด•เตเด•เต—เดฃเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด• เดธเตˆเดฑเตเดฑเต
  2. เดจเดฟเด™เตเด™เตพ เดšเดฟเดคเตเดฐเด™เตเด™เตพ เดธเตƒเดทเตโ€ŒเดŸเดฟเด•เตเด•เดพเดจเตเด‚ เดชเดฐเต€เด•เตเดทเดฟเด•เตเด•เดพเดจเตเด‚ เดชเต‹เด•เตเดจเตเดจเตเดตเต†เดจเตเดจเต เดชเดฟเดจเตเดคเตเดฃ เด…เดฑเดฟเดฏเดฟเด•เตเด•เตเด•
  3. เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เตพเด•เตเด•เต 3000 เดฑเต‚เดฌเดฟเดณเตเด•เตพ เด•เตเดฐเต†เดกเดฟเดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเตเด‚ เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเตเด•เตพ เดธเตƒเดทเตเดŸเดฟเด•เตเด•เดพเดจเตเดณเตเดณ เด•เดดเดฟเดตเต เดชเตเดฐเดพเดชเตเดคเดฎเดพเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเด‚
  4. เดตเตƒเดคเตเดคเดฟเดฏเตเดณเตเดณ เด“เดชเตเดชเดฑเต‡เดฑเตเดฑเดฟเด‚เด—เต เดธเดฟเดธเตเดฑเตเดฑเดฎเตเดณเตเดณ เด’เดฐเต เดตเต†เตผเดšเตเดตเตฝ เดธเต†เตผเดตเตผ เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเตเด•
  5. เดˆ เดตเดฟเดชเดฟเดŽเดธเดฟเตฝ เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เด‡เตปเดธเตเดฑเตเดฑเดพเตพ เดšเต†เดฏเตเดคเต เดธเดœเตเดœเต€เด•เดฐเดฟเด•เตเด•เตเด•
  6. เดธเต‹เดซเตเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดตเดฟเดจเตเดฏเดพเดธเดคเตเดคเดฟเดจเตเดณเตเดณ เดจเดฟเตผเดฆเตเดฆเต‡เดถเด™เตเด™เดณเต‹ เดธเตเด•เตเดฐเดฟเดชเตเดฑเตเดฑเต‹ เดŽเดดเตเดคเตเด•
  7. เด•เตเดฐเดฎเต€เด•เดฐเดฟเดšเตเดš เดธเต†เตผเดตเดฑเดฟเดจเดพเดฏเดฟ เด’เดฐเต เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดธเตƒเดทเตเดŸเดฟเด•เตเด•เตเด•
  8. "เดธเต†เตผเดตเตผ เดŸเต†เด‚เดชเตเดฒเต‡เดฑเตเดฑเต" เดกเตเดฐเต‹เดชเตเดชเต-เดกเต—เตบ เดฒเดฟเดธเตเดฑเตเดฑเดฟเตฝ เดฎเตเดฎเตเดชเต เดธเตƒเดทเตเดŸเดฟเดšเตเดš เดธเตเดจเดพเดชเตเดชเตเดทเต‹เดŸเตเดŸเต เดคเดฟเดฐเดžเตเดžเต†เดŸเตเดคเตเดคเต เด’เดฐเต เดชเตเดคเดฟเดฏ เดตเต†เตผเดšเตเดตเตฝ เดธเต†เตผเดตเตผ เด“เตผเดกเตผ เดšเต†เดฏเตเดฏเตเด•
  9. เดธเต†เตผเดตเดฑเดฟเดจเตเดฑเต† เดตเดฟเดœเดฏเด•เดฐเดฎเดพเดฏ เดธเตƒเดทเตเดŸเดฟเดฏเตเดŸเต† เด•เดพเดฐเตเดฏเดคเตเดคเดฟเตฝ, เด˜เดŸเตเดŸเด‚ 6-เตฝ เดฒเดญเดฟเดšเตเดš เดฎเต†เดฑเตเดฑเต€เดฐเดฟเดฏเดฒเตเด•เตพ เดธเดพเด™เตเด•เต‡เดคเดฟเด• เดชเดฟเดจเตเดคเตเดฃเดฏเดฟเดฒเต‡เด•เตเด•เต เดฎเดพเดฑเตเดฑเตเด•
  10. เด’เดฐเต เดชเดฟเดถเด•เต เดธเด‚เดญเดตเดฟเดšเตเดšเดพเตฝ, เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดชเดฟเดจเตเดคเตเดฃเดฏเต‹เดŸเต† เด•เดพเดฐเดฃเด‚ เดชเดฐเดฟเดถเต‹เดงเดฟเดšเตเดšเต เดธเดœเตเดœเต€เด•เดฐเดฃเด‚ เด†เดตเตผเดคเตเดคเดฟเด•เตเด•เดพเด‚

เดฌเดฟเดธเดฟเดจเดธเตเดธเต เด‰เดŸเดฎเด•เตพเด•เตเด•เต: เดจเดฟเด™เตเด™เดณเตเดŸเต† เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดตเดพเด—เตเดฆเดพเดจเด‚ เดšเต†เดฏเตเดฏเตเด•

เดจเดฟเด™เตเด™เตพ เด’เดฐเต VPS-เตฝ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เตเด•เดฏเตเด‚ เด‰เดชเดฏเต‹เด—เดฟเด•เตเด•เตเด•เดฏเตเด‚ เดšเต†เดฏเตเดฏเตเดจเตเดจ เด’เดฐเต เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เดกเต†เดตเดฒเดชเตเดชเดฑเดพเดฃเต†เด™เตเด•เดฟเตฝ, เดžเด™เตเด™เตพเด•เตเด•เต เดจเดฟเด™เตเด™เดณเต† เดตเดฟเดชเดฃเดฟเดฏเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเดพเด‚. เดชเตเดคเดฟเดฏ เด‰เดชเดญเต‹เด•เตเดคเดพเด•เตเด•เดณเต†เดฏเตเด‚ เดŸเตเดฐเดพเดซเดฟเด•เตเด•เดฟเดจเต†เดฏเตเด‚ เดฆเตƒเดถเตเดฏเดชเดฐเดคเดฏเต†เดฏเตเด‚ เด•เตŠเดฃเตเดŸเตเดตเดฐเดพเตป เดžเด™เตเด™เตพ เดจเดฟเด™เตเด™เดณเต† เดธเดนเดพเดฏเดฟเด•เตเด•เตเดจเตเดจเดคเต เด‡เด™เตเด™เดจเต†เดฏเดพเดฃเต. เดžเด™เตเด™เตพเด•เตเด•เต เดŽเดดเตเดคเต‚

เด…เดญเดฟเดชเตเดฐเดพเดฏเด™เตเด™เดณเดฟเตฝ เดžเด™เตเด™เตพเด•เตเด•เต เด’เดฐเต เดšเดฟเดคเตเดฐเด‚ เดจเดฟเตผเดฆเตเดฆเต‡เดถเดฟเด•เตเด•เตเด•

เด’เดฑเตเดฑ เด•เตเดฒเดฟเด•เตเด•เดฟเตฝ เดตเต†เตผเดšเตเดตเตฝ เดฎเต†เดทเต€เดจเตเด•เตพ เดตเดฟเดจเตเดฏเดธเดฟเด•เตเด•เดพเตป เดเดคเต เดธเต‹เดซเตโ€Œเดฑเตเดฑเตโ€Œเดตเต†เดฏเตผ เด‰เดชเดฏเต‹เด—เดฟเดšเตเดšเดพเดฃเต เดจเดฟเด™เตเด™เตพ เด†เด—เตเดฐเดนเดฟเด•เตเด•เตเดจเตเดจเดคเต†เดจเตเดจเต เดŽเดดเตเดคเตเด•?

RUVDS เดฎเดพเตผเด•เตเด•เดฑเตเดฑเดฟเตฝ เดจเดฟเด™เตเด™เตพเด•เตเด•เต เดŽเดจเตเดคเดพเดฃเต เดจเดทเตเดŸเดฎเดพเด•เตเดจเตเดจเดคเต?

เด“เดฐเต‹ เดธเตเดตเดฏเด‚ เดฌเดนเตเดฎเดพเดจเดฟเด•เตเด•เตเดจเตเดจ เดนเต‹เดธเตเดฑเตเดฑเดฟเด‚เด—เต เด•เดฎเตเดชเดจเดฟเดฏเตเด‚ เด…เดตเดฐเตเดŸเต† เดตเดฟเดชเดฃเดฟเดฏเดฟเตฝ เดŽเดจเตเดคเดพเดฃเต เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเต‡เดฃเตเดŸเดคเต?

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เดžเด™เตเด™เตพ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเต เดชเตเดฒเต‡เดธเต เด…เดชเตโ€Œเดกเต‡เดฑเตเดฑเต เดšเต†เดฏเตเดฏเตเด•เดฏเดพเดฃเต: เดŽเดจเตเดคเดพเดฃเต เดฎเดฟเด•เดšเตเดšเดคเต†เดจเตเดจเต เดžเด™เตเด™เดณเต‹เดŸเต เดชเดฑเดฏเตเด•?

เดฐเดœเดฟเดธเตเดฑเตเดฑเตผ เดšเต†เดฏเตเดค เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพเด•เตเด•เต เดฎเดพเดคเตเดฐเดฎเต‡ เดธเตผเดตเต‡เดฏเดฟเตฝ เดชเด™เตเด•เต†เดŸเตเด•เตเด•เดพเตป เด•เดดเดฟเดฏเต‚. เดธเตˆเตป เด‡เตปเดฆเดฏเดตเดพเดฏเดฟ.

เดเดคเต เดšเดฟเดคเตเดฐเด™เตเด™เดณเดพเดฃเต เดจเดพเด‚ เด†เดฆเตเดฏเด‚ เดฎเดพเตผเด•เตเด•เดฑเตเดฑเดฟเตฝ เด‰เตพเดชเตเดชเต†เดŸเตเดคเตเดคเต‡เดฃเตเดŸเดคเต?

  • 50,0%LEMP10

  • 15,0%เดฆเตเดฐเตเดชเดพเตฝ3

  • 10,0%เดœเต‚เด‚เดฒ2

  • 5,0%เดกเต‹เด•เตเด•เต1

  • 0,0%PacVim0

  • 0,0%เดฑเตบเด•เตเดฒเต—เดกเต0

  • 5,0%เด•เต‹เดกเต-เดธเต†เตผเดตเตผ1

  • 15,0%Ghost3

  • 5,0%เดตเดฟเด•เตเด•เดฟเดœเต†เดŽเดธเต1

  • 0,0%เดชเตเดฐเดญเดพเดทเดฃเด‚0

  • 0,0%Rstudio0

  • 5,0%เด“เดชเตเดชเตบเด•เดพเตผเดŸเตเดŸเต1

  • 35,0%เดœเดพเด‚เด—เต‹7

  • 40,0%Laravel8

  • 20,0%เดฑเต‚เดฌเดฟ เด“เตบ เดฑเต†เดฏเดฟเตฝเดธเต4

  • 55,0%เดจเต‹เดกเตเดœเต†เดŽเดธเต11

20 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเต‹เดŸเตเดŸเต เดšเต†เดฏเตเดคเต. 12 เด‰เดชเดฏเต‹เด•เตเดคเดพเด•เตเด•เตพ เดตเดฟเดŸเตเดŸเตเดจเดฟเดจเตเดจเต.

เด…เดตเดฒเด‚เดฌเด‚: www.habr.com

เด’เดฐเต เด…เดญเดฟเดชเตเดฐเดพเดฏเด‚ เดšเต‡เตผเด•เตเด•เตเด•