ืืขื ืืึธืจ ืืืจ ืืึธืื ืฉืืขืื ืืื ืึทืืืืฆืืขืก ืืึธืืื ืฆื ืคึฟืึทืจืืขืกืขืจื ืื ืคึผืจืึธืืืงื.
ืขืืืขืืข ืืึทืกืงืก ืืึทืจืคื ืขืจื ืกื ืฆืืืจืืืืื ื, ืคึฟืึทืจ ืืืึธืก ืืืจ ืงืืืึทืื ืืึทืืขืจืงืื ืืขื ืคืื ืืกืขืจืก: ืืืจ ืืึทืื ืืขืืืขืืึธืคึผืขืจืก, ืกืืกืืขื ืึทืืืื ืืกืืจืึทืืึธืจืก, ืืึทื ืฉืึทืคึฟื ืคืืจืขืจ ืืื ืงืืืขืจื ืขืืขืก ืกืคึผืขืฉืึทืืึทืกืฅ ืฆื ืื ืึธืคืืก.
ืืื ืขืืืขืืข, ืืืจ ืึทืจืืืกืืขืื ืกืขืจืืืขืจืก ืืื ืขื ืืคืขืจ ืฆื ืืึทืืขืจืงืื ืืขื, ืืื ืืื ืืขืืืขื ืืขืจ ืคืึทื
ืจืืึฟ ืขื ืืขืจืื ืืขื ืืึทืจืคื ืึท ืคึผืืึทืฅ ืคืื ืึทื ืืืืืงืืื ื ืฉืขื, ืึธืืขืจ ืืืจืงืคืืขืฆืขืจ โ ืืึธืจ ืึทื ืึทื ืืขืจ ืืขืฉืืืืข. ืืื ืื ืึทืืืืขื ื ืคืื ืกื ืึทืคึผืฉืึทืฅ, ืืืจ ืืึธืื ืื ืืขืืขืื ืืืื ืฆื ืฆืืฆืืขื ืคืื ืืจืืืกื ืืืง ืกืืกืืขื ืึทืืืื ืืกืืจืึทืืึธืจืก ืืืึธืก ืงืขื ืขื ืฆืืืจืืืื ืึท ืืืื ืึทืืื ืึทื ืืืจ ืงืขื ืขื ืึทืจืืึทื ื ืขืืขื ืขืก ืืื ืื ืืึทืจืง ืืืฉ ืืื ืึท ืืึธื.
ืืื ืฆื ืืืึทืฉืืืึทืขืจื ืฆื
ืืื ืฆื ืฉืึทืคึฟื ืึท Gitlab ืืืกืืขืจ ืืืืฃ Centos 8
ืฆื ืื ืกืืึทืืืจื Gitlab, Yura ืืืืกืืขืจืืืืืื ืึท ืกืขืจืืืขืจ ืืื 8 ืืืืืืืื ืืึทืจืึทื ืืื 2 ืงืคึผื ืงืึธืจืขืก (4 ืืืืืืืื ืืื 1 ืงืคึผื ืืขื ืขื ืืขืืืขื, ืึธืืขืจ ืืื ืืขื ืคืึทื ืืืจ ืืืขื ืืึธืื ืฆื ื ืืฆื ืึท ืืืกืืืึทืื ืืขืงืข, ืืื ืืืืืึทื ืคืึธืจืฉืืขืืื ื ืืื ืืขื ืคืึทื ืืื ื ืึธืืืืกืึทืืื ื ืืืขืจืืงืขืจ.
ืืึธืืืจ ืืึทืื ืืืืขืจ ืึทื ืื ื ืืืืืง ืคึผืึทืงืึทืืืฉืึทื ืคึฟืึทืจ ืื ืกืืึธืืื ื 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
ืืืื ืืขืจ ืกืขืจืืืืจืขืจ ืืื ืึท ืื ืก ื ืึธืืขื ืงืึทื ืคืืืืขืจื, ืืืืืึทื ืงืขื ืขื ืืืื ืืื ืกืืึทืืืจื ืืื ืขืก. ืืืื ืืืจ ืกืคึผืขืฆืืคืืฆืืจื ืืขื https:// ืคึผืจืขืคืืงืก, Gitlab ืืืขื ืืืืืึธืืึทืืืฉ ืืืฉืขื ืขืจืืื ืืขืฅ ืขื ืงืจืืคึผื ืกืขืจืืืคืืงืึทืฅ.
ืืื ืืื ืืืขืจ ืคืึทื, ืืืืึทื ืืืจ ืืึธืื ืืขืืืื ืึท ืืืกืืขืจ ืคึฟืึทืจ ืึท ืืืืจืืืึทื ืืึทืฉืื, ืืื Yura ืฉืืขืื ืึท ืืืกืืขืจ ืึทืืจืขืก (ืืืึธืก ืงืขื ืขื ืืืื ืืฉืืื ืืืฉื ืืื ืืขืจ ืฆืืงืื ืคึฟื ืึธื ืงืืื ืคืจืืืืขืืขื):
sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee
ื ืึธื ืืขื, ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืึทื Gitlab ืืึทืืื ืื ืืก ืืขื ืขื ืืจืืขืื ืืืจื ืืืื ืฆื
http://vps_ip_address/
ืืขืจ ืกืืกืืขื ืืืขื ืืขืื ืืืจ ืฆื ืฉืืขืื ืึทื ืขืจืฉื ืคึผืึทืจืึธื ืคึฟืึทืจ ืื ืืืึธืจืฆื ืึทืืืื ืืกืืจืึทืืึธืจ ืืฉืืื.
ืืื ืืขื ืืื ืข, ืืืจ ืืืขืื ื ืขืืขื ืึท ืืึธืืขื ืืืืื ืคืื ืื ืกืขืจืืืขืจ, ืืื ืืขืืึธืื ืงืึทื ืคืืืืขืจ ืขืก ื ืืฆื ืขืก.
ืืื ืึทื ืก ืขืก!
ืืึธื ืืก: ืืืจ ืืืขื ืืึธืื ืืืจ ืืืึธืก ืืฉืืงืึทืืืข ืืื ืื ืืืจ ืงืขื ืขื ืืึธื ืืืจื ืืงืกืคึผืึทื ืืื ื
ืืึธื ืืืึธืจืื ื ืืืืืึทื ื ืืฆื Grafana
ืืื ืืจืื ืืึธืจ ืฆืืจืืง, ืื Gitlab ืืึทื ืฉืึทืคึฟื ืืืคึผืืึทืืขื ืึทื ืึท ืืึธื ืืืึธืจืื ื ืกืืกืืขื ืฆื ืคืืจื ืึท ืจืืืืง ื ืืืขืจ ืคืื ืืขืืจืืงืก ืฉืืึทืืืช ืฆื Gitlab ืืึทืืื ืื ืืก.
ืืื ื ืืขืืึธืื, Gitlab ืืื ืกืืึทืจืืขื ืฉืืคึผืื ื ืืืื ืืึทื ืืึธื ืืืจืื ื ืคึผืขืงื ืืื Prometheus ืฆื ืืขืื ืืืื ืืืืขืจื ืฆื ื ืืฆื ืื ืืึธื ืืืึธืจืื ื ืงืืืคึผืึทืืืืึทืืื ืฆืืืขืฉืืขืื ืืืจื Prometheus.
ืคึผืจืึธืืขืืืขืืก ืืื ืึทื ืึธืคึฟื (Apache 2.0) ืฆืืื ืกืขืจืืข DBMS ืืขืฉืจืืื ืืื Go ืืื ืขืจืืืืฉื ืึทืื ืืขืืืขืืึธืคึผืขื ืืื ืกืึธืื ืืงืืึธืื. ืืื ืื ืืขืจืข ืืืขืจืืขืจ, ืืขื ืืึทื ืกืืึธืจื ืืืื ืืขืืจืืงืก. ืึท ืืฉืืงืึทืืืข ืฉืืจืื ืคืื ืคึผืจืึธืืขืืืขืืก ืืื ืึทื ืขืก ืืื ืคึผืืื ืืขืืจืืงืก ืคืื ืึท ืืขืืขืื ืืึทื ื ืคืื ืืึทืืื ืื ืืก (ืืื ืึท ืฆืืขื). ืจืขืื ืฆื ืืขื, ืคึผืจืึธืืขืืืขืืก ืงืขื ืขื ื ืืฉื ืืึทืงืืืขื ืงืืึธืื ืืื ืงืืื ืงืืื ืึธืืขืจ ืขืคึผืขืก ืืื ืึทื, ืืืึธืก ืืืื ืืึธื ืืืึธืจืื ื ืืืขื ืงืืื ืืึธื ืืืขืจื ืึท ืืึทืืึทืื ืขืง ืคืื ืื ืกืืกืืขื. ืื ืคึผืจืืืขืงื ืืื ืืืื ืืฉืืงืึทืืืข ืืืืึทื ืขืก ืคืึทื ืืึทืืขื ืืึทืื ืึธืคืคืขืจืก ืงืืื ืืึธืจืืืึธื ืืึทื ืกืงืืืืื ื ืึธืืขืจ ืืืื ืึทืืืืืืึทืืืืึทืื.
ืืื ืึท ืืืกื ืืืืขืจ ืึท ืืึธืจ ืฆืืจืืง, ืื Gitlab ืืึทื ืฉืึทืคึฟื ืืขืคืื ืขื ืึทื ืืขืืจืืงืก ืืขื ืขื ื ืืฉื ืืืืขืจ ืืึทืงืืืขื ืึธื ืืึทืฉืืึธืจืื. ืึทืืื ืืื ืื ืึทืืจืืืืื Grafana ืืื ืงืึทืกืืึทืืืืื ืืึทืฉืืึธืจืื ืฆื ืืขืืคึฟื ืืืืขืจ ืืืืขืจื ืืืืืฉืืืึทืืืื ืืึทืื ืึธื ืืึทื ืืืึทืื ืื ืกืืึทืืืจื Grafana.
ืืื ื ืืืขืจืกืืข 12.0, Gitlab ืืื ืื ืึทืืจืืืืื Grafana, ืงืึทื ืคืืืืขืจื ืืื SSO ืืืจื ืคืขืืืงืืึทื, ืืื
ืขืก ืืขื ืขื ืฆืืืื ืคืึทืจืฉืืืขื ืข ืคึผืึทืจืฅ ืคืื ืื Gitlab ืื ืึทืืจืืืฉืึทื ืืื ืคึผืจืึธืืขืืืขืืก:
- GitLab ืืึธื ืืืึธืจืื ื (ืึธืื ืืืืก)
- ืืึธื ืืืึธืจืื ื ืืืื GitLab ืึทืคึผืืึทืงืืืฉืึทื ื ืืื ืึท Kubernetes ืงื ืืื
ืืื ืฆื ื ืืฆื ืขืก
"ืึธืื ืืืืก" ืืื ืืืึธืก GitLab ืจืืคื ืืืื ืืืืคึผื ืื ืกืืึทืืืจืื ื ืคึผืขืงื.
ืืื ืฆื ืื ืกืืึทืืืจื Grafana
ืืจืึทืคืึทื ืึท ืืึธืืื ืืื ืคึผืึทืจืึธื ืืขื ืขื ืคืึทืจืงืจืืคึผืื ืืืจื ืคืขืืืงืืึทื (ืืืืื SSO ืืึธืืื ืืื ืขืจืืืืื), ืึธืืขืจ ืืืื ืขืก ืืื ืึท ื ืืื ืฆื ืงืืึธืฅ ืืื ืึท ืืฉืืื ืืื ืึทืืืื ืืกืืจืึทืืึธืจ ืจืขืื ืึธืืขืจ ืงืขื ืขื ืงืืึธืฅ ืืื ืืื ืึท ื ืืืขื ืืื ืคึผืึทืจืึธื, ืืืจ ืืึทืจืคึฟื ืฆื ืืขืื ืืขื ืืื ืื ืืืืืึทื. ืงืึทื ืคืืืืขืจืืืฉืึทื ืืขืงืข /etc/gitlab/gitlab .rb ืืืจื ืขืืืืื ื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืฉืืจื:
grafana['disable_login_form'] = false
ืืื ืจืืงืึทื ืคืืืืขืจ Gitlab ืฆื ืฆืืืืืื ืื ืขื ืืขืจืื ืืขื:
sudo gitlab-ctl reconfigure
ืืืื ืืืจ ืืึธื ืืฉื Gitlab ื ืืฆื ืืื ืืืขืจ ืืืืจืืืึทื ืืึทืฉืื ืืืกืืขืจ ืคึฟืื ืืื ืืืขืจ ืืึทืจืง, ืืืจ ืืึทืจืคึฟื ืฆื ืืึทืฉืืืืขื ืืืื URL ืฆื ืื ืกืขืจืืืขืจ ืืืจื ืืฉืึทื ืืื ื ืื ืงืึธืจืึทืกืคึผืึทื ืืื ื ืฉืืจื ืืื /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 - ืกืืึทืืืกืืืง ืืืืฃ ืืื ืกื ืคืึทืจืงืขืจ ืืื ืืืืคึผ ืงืึธืืื ืคึผืขืจ ืืขืื
- PostgreSQL - ืกืืึทืืืกืืืง ืืืืฃ ืึทืืืืืืึทืืืืึทืื ืืื ืืึทืกืข ืืืืฃ ืื PostgreSQL ืืึทืืึทืืืืก
- ืคึผืจืึทืขืคืขืงื - ืืึธื ืืืึธืจืื ื ืคืื ืกืืึธืจืืืืฉ ืืึทืกืข ืืื ืืืื ืึทืืืืืืึทืืืืืื ืคึผืจืึทืขืคืขืงื
- Rails App - ืืืืขืจืืืืง ืืึทืฉืืึธืจื ืคึฟืึทืจ Rails ืึทืคึผืืึทืงืืืฉืึทื ื
- Redis - ืืึธื ืืืึธืจืื ื ืื ืืึทืกืข ืืืืฃ ืื Redis ืืื ืกื
- ืจืขืืืกืืจื - ืืืื ืจืขืืืกืืจื ืืึธื ืืืึธืจืื ื
- ืกืขืจืืืืก ืคึผืืึทืืคืึธืจื ืืขืืจืืงืก - ืกืขืจืืืืก ืืขืืจืืงืก ืืืึธืก ืืืืึทืื ืื ื ืืฆื ืคืื ืืืื ืืืจื Gitlab, ืกืขืจืืืืก ืึทืืืืืืึทืืืืึทืื, ื ืืืขืจ ืคืื RPC ืจืืงืืืขืก ืืื ื ืืืขืจ ืคืื ืขืจืจืึธืจืก.
ืื ืื ืึทืืจืืืฉืึทื ืืื ืืึทื ืฅ ืคืืืฉืืขื ืืืง ืืื Gitlab ืืืืขืจื ืืึธืื ืื ืคืืืืงืืื ืฆื ืคืื ืึทื ืืขืจืงืืืึทืื ืืืืืฉืืืึทืืืืื ืืืืืึทื ืืขืืจืืงืก ืจืขืื ืืืืก ืคืื ืื ืงืขืกืื.
ืืื Gitlab, ืึท ืืึทืืื ืืขืจ ืืึทื ืฉืึทืคึฟื ืืื ืคืึทืจืึทื ืืืืึธืจืืืขื ืคึฟืึทืจ ืืืื ืืืื ืื ื ืืื ืึทืคึผืืืืืื ื ืืึทืฉืืึธืจืื, ืืื ืืืื Ben Kochie, SRE ืื ืืฉืขื ืืจ ืืื Gitlab, ืื ืคืขืืืงืืึทื ืกืขืืืื ืืก ืืื ืฆืืืขืืจืืื ืืึทืฉืืึธืจืื ืืืขื ืคึผืึทืกื ืจืืึฟ ื ืืฆืขืจืก.
ืืื ืืืฆื ืืขืจ ืขืืงืจ: ืืึธืืืจ ืฉืึทืคึฟื ืึท ืืึทืจืง ืฆืืืึทืืขื
ืื ืจ ืฐืื ื ืืฒื ืืื ื ื ื ืืื ืฆ ืข ืงืืื ื ืืื ื ืื ื ืืืืฒืืืง ื ืื ื ืืข ืจ ืฉืืค ื ืคื ื ืืืจืง . ืขืก ืืขื ืขื ืืจืื ืึธืคึผืฆืืขืก ืคึฟืึทืจ ืืื ืืืจ ืงืขื ืขื ืคืึทืจืืื ืื:
ืฆืืืจืืืื ืื ืืืื ืืื ืืื ืืึทืงืืืขื 3000 ืจืืื ืฆื ืืืื ืืืึธื
ืืืื ืืืจ ืืขื ื ืืจืืื ืฆื ืืื ืงืึทืืืฉ ืืื ืฉืืึทืื ืืื ืืึทืื ืื ืืืื ืืืึธืก ืืืจ ืคืขืื ืืื, ืืืจ ืืืขืื ืงืจืขืืื ืืืจ ืืื 3000 ืจืืื ืฆื ืืืื ืื ืขืจืืขื ืืืึธื - ืืืจ ืงืขื ืขื ืคืึทืจืืจืขื ืืขื ืขืก ืืืืฃ ืกืขืจืืืขืจืก.
ืืื ืฆื ืฉืึทืคึฟื ืืืื ืืืืืขื ืข ืืืื:
- ืฉืึทืคึฟื ืึท ืืฉืืื ืืื ืืื ืื ืืืืฃ
ืึธื ืืืื - ืืึธืื ืฉืืืฆื ืืืืกื ืึทื ืืืจ ืืืขื ืืึทืื ืืื ืคึผืจืืืืจื ืืืืืขืจ
- ืืืจ ืืืขืื ืงืจืขืืื ืืืจ 3000 ืจืืื ืืื ืืขืื ืื ืคืืืืงืืื ืฆื ืฉืึทืคึฟื ืกื ืึทืคึผืฉืึทืฅ
- ืกืืจ ืึท ืืืืจืืืึทื ืกืขืจืืืขืจ ืืื ืึท ืจืืื ืึธืคึผืขืจืืืืื ื ืกืืกืืขื
- ืื ืกืืึทืืืจื ืื ืืืืืืืืืจื ืืืืฃ ืืขื VPS ืืื ืฉืืขืื ืขืก ืึทืจืืืฃ
- ืฉืจืืื ืื ืกืืจืึทืงืฉืึทื ื ืึธืืขืจ ืฉืจืืคื ืคึฟืึทืจ ืืืืืืืืืจื ืืืคึผืืืืืึทื ื
- ืฉืึทืคึฟื ืึท ืืึธืืขื ืืืืื ืคึฟืึทืจ ืื ืงืึทื ืคืืืืขืจื ืกืขืจืืืขืจ
- ืกืืจ ืึท ื ืืึท ืืืืจืืืึทื ืกืขืจืืืขืจ ืืืจื ืกืขืืขืงืืืจื ืืขื ืคืจืืขืจ ืืืฉืืคื ืืึธืืขื ืืืืื ืืื ืื "ืกืขืจืืืืจืขืจ ืืืกืืขืจ" ืคืึทืื-ืึทืจืึธืคึผ ืจืฉืืื
- ืืืื ืืขืจ ืกืขืจืืืขืจ ืืื ืืฆืืื ืืืฉืืคื, ืึทืจืืืขืจืคืืจื ืื ืืึทืืขืจืืึทืืก ืืืงืืืขื ืืื ืืื ืข 6 ืฆื ืืขืื ืืฉ ืฉืืืฆื
- ืืื ืคืึทื ืคืื ืึท ืืขืืช, ืืืจ ืงืขื ืขื ืงืึธื ืืจืึธืืืจื ืืื ืฉืืืฆื ืคึฟืึทืจ ืื ืกืืื ืืื ืืืืขืจืืืจื ืื ืกืขืืึทืคึผ
ืคึฟืึทืจ ืืขืฉืขืคื ืึธืื ืขืจื: ืคืึธืจืฉืืึธืื ืืืื ืืืืืืืืืจื
ืืืื ืืืจ ืืขื ื ืึท ืืืืืืืืืจื ืืขืืืขืืึธืคึผืขืจ ืืืึธืก ืืื ืืืคึผืืืื ืืื ืืขืืืืื ื ืืืืฃ VPS, ืืืจ ืงืขื ืขื ืึทืจืืึทื ื ืขืืขื ืืืจ ืืื ืื ืืึทืจืง. ืืึธืก ืืื ืืื ืืืจ ืงืขื ืขื ืืขืืคึฟื ืืืจ ืืจืขื ืืขื ื ืืึทืข ืงืึทืกืืึทืืขืจื, ืคืึทืจืงืขืจ ืืื ืืืืกืืงืืึทื.
ื ืึธืจ ืคึฟืึธืจืฉืืึธืื ืืื ืื ืึท ืืืื ืืื ืื ืืึทืืขืจืงืื ืืขื
ืฉืจืืื ืืื ืืืึธืก ืืืืืืืืืจื ืืืจ ืืืึธืื ืืื ืฆื ืงืขื ืขื ืฆื ืฆืขืืืืงืืขื ืืืืจืืืึทื ืืืฉืื ืขื ืืื ืืืื ืืื?
ืืืึธืก ืืึธื ืืืจ ืคืึทืจืคืืจื ืืื ืื RUVDS ืืึทืจืง?
ืืืึธืก ืืึธื ืืขืืขืจ ืืื-ืจืืกืคึผืขืงืืื ื ืืึธืกืืื ื ืคืืจืืข ืึทืจืืึทื ื ืขืืขื ืืื ืืืืขืจ ืืึทืจืง?
ืืืืื ืจืขืืืกืืจืืจื ื ืืฆืขืจืก ืงืขื ืขื ืึธื ืืืื ื ืขืืขื ืืื ืื ืืืขืจืืืืง.
ืืืึธืก ืืืืืขืจ ืืึธื ืืืจ ืึทืจืืึทื ื ืขืืขื ืืื ืื ืืึทืจืง ืขืจืฉืืขืจ?
-
ืงืกื ืืืงืก%LEMP10
-
ืงืกื ืืืงืก%ืืจืืคึผืึทื3
-
ืงืกื ืืืงืก%Joomla2
-
ืงืกื ืืืงืก%ืืึธืงื1
-
ืงืกื ืืืงืก%PacVim0
-
ืงืกื ืืืงืก%Runcloud0
-
ืงืกื ืืืงืก%ืงืึธื-ืกืขืจืืืขืจ1
-
ืงืกื ืืืงืก%ืืืึธืกืืงืกื ืืืงืก
-
ืงืกื ืืืงืก%WikiJs1
-
ืงืกื ืืืงืก%ืืืกืงืึธืืจืกืข0
-
ืงืกื ืืืงืก%Rstudio0
-
ืงืกื ืืืงืก%OpenCart1
-
ืงืกื ืืืงืก%Django7
-
ืงืกื ืืืงืก%Laravel8
-
ืงืกื ืืืงืก%ืจืืืื ืืืืฃ ืจืึทืืืก4
-
ืงืกื ืืืงืก%NodeJs11
20 ืืื ืืฆืขืจ ืืืื ืืขืฉืืืื. 12 ืืื ืืฆืขืจ ืืืื ืืื ืืคืืขืืืืื.
ืืงืืจ: www.habr.com