์ฌํด ์ฐ๋ฆฌ๋ ์ ํ ๊ฐ์ ์ด๋ผ๋ ์ผ์ฌ์ฐฌ ๋ชฉํ๋ฅผ ์ธ์ ์ต๋๋ค.
์ผ๋ถ ์์ ์๋ ์ง์งํ ์ค๋น๊ฐ ํ์ํ๋ฉฐ ์ด๋ฅผ ์ํด ์ฌ์ฉ์๋ก๋ถํฐ ํผ๋๋ฐฑ์ ์์งํฉ๋๋ค. ๊ฐ๋ฐ์, ์์คํ ๊ด๋ฆฌ์, ํ ๋ฆฌ๋ ๋ฐ Kubernetes ์ ๋ฌธ๊ฐ๋ฅผ ์ฌ๋ฌด์ค์ ์ด๋ํฉ๋๋ค.
์ด๋ค ๊ฒฝ์ฐ์๋ ํผ๋๋ฐฑ์ ๋ํ ์๋ต์ผ๋ก ์๋ฒ๋ฅผ ๋ฐํํฉ๋๋ค.
๋๋ถ๋ถ์ ๋ณ๊ฒฝ์๋ ๋ง์ ๊ฐ๋ฐ ์๊ฐ์ด ํ์ํ์ง๋ง ์์ฅ -์์ ํ ๋ค๋ฅธ ์ด์ผ๊ธฐ. ์ค๋ ์ท์ ์ถํ์ผ๋ก ๋ง ๊ทธ๋๋ก ํ๋ฃจ ๋ง์ ์์ฅ์ ์ถ์ํ ์ ์๋๋ก ์ด๋ฏธ์ง๋ฅผ ์ค๋นํ ์ ์๋ ์ธ๋ถ ์์คํ ๊ด๋ฆฌ์๋ฅผ ์ ์นํ ์ ์๋ ๊ธฐํ๊ฐ ์๊ฒผ์ต๋๋ค.
๊ธฐ์ฌํ๋ ๋ฐฉ๋ฒ
Centos 8์์ Gitlab ํ ํ๋ฆฟ์ ๋ง๋๋ ๋ฐฉ๋ฒ
Gitlab์ ์ค์นํ๊ธฐ ์ํด Yura๋ 8GB RAM๊ณผ 2๊ฐ์ CPU ์ฝ์ด(4GB์ 1CPU๋ ๊ฐ๋ฅํ์ง๋ง ์ด ๊ฒฝ์ฐ ์ค์ ํ์ผ์ ์ฌ์ฉํด์ผ ํ๋ฉฐ ์ด ๊ฒฝ์ฐ 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 ์ธ์ฆ์๋ฅผ ์์ฑํฉ๋๋ค.
์ฐ๋ฆฌ์ ๊ฒฝ์ฐ์๋ ์ฐ๋ฆฌ๋ ๊ฐ์ ๋จธ์ ์ฉ ํ ํ๋ฆฟ์ ๋ง๋ค๊ณ ์์๊ณ Yura๋ ํ ํ๋ฆฟ ์ฃผ์๋ฅผ ์ค์ ํ์ต๋๋ค(์ดํ์๋ ๋ฌธ์ ์์ด ๋ณ๊ฒฝ๋ ์ ์์ต๋๋ค).
sudo EXTERNAL_URL="http://0.0.0.0" dnf install -y gitlab-ee
๊ทธ๋ฐ ๋ค์ ๋ค์์ผ๋ก ์ด๋ํ์ฌ Gitlab ์๋น์ค๊ฐ ์๋ํ๋์ง ํ์ธํ ์ ์์ต๋๋ค.
http://vps_ip_address/
์์คํ ์ ๋ฃจํธ ๊ด๋ฆฌ์ ๊ณ์ ์ ์ด๊ธฐ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํ๋ผ๋ ๋ฉ์์ง๋ฅผ ํ์ํฉ๋๋ค.
์ด ๋จ๊ณ์์๋ ์๋ฒ์ ์ค๋ ์ท์ ์ฐ์ ๋ค์ ์ด๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ๊ฒ ์ต๋๋ค.
๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ !
๋ณด๋์ค: ํ์ฅ์ ํตํด ์ด๋ค ํฅ๋ฏธ๋ก์ด ์ผ์ ํ ์ ์๋์ง ์๋ ค๋๋ฆฌ๊ฒ ์ต๋๋ค.
Grafana๋ฅผ ์ฌ์ฉํ์ฌ Gitlab ๋ชจ๋ํฐ๋ง
XNUMX๋ ์ Gitlab ํ์ Gitlab ์๋น์ค์ ๊ด๋ จ๋ ์๋ง์ ์งํ๋ฅผ ๊ด๋ฆฌํ๊ธฐ ์ํด ๋ชจ๋ํฐ๋ง ์์คํ ์ ๊ตฌํํ์ต๋๋ค.
๊ทธ ์ดํ๋ก Gitlab์ ์ฌ์ฉ์๊ฐ Prometheus์์ ์ ๊ณตํ๋ ๋ชจ๋ํฐ๋ง ๊ธฐ๋ฅ์ ํ์ฉํ ์ ์๋๋ก Prometheus์ ํจ๊ป ์ค์น ํจํค์ง๋ฅผ ์ ๊ณตํ๊ธฐ ์์ํ์ต๋๋ค.
Prometheus๋ Go๋ก ์์ฑ๋์์ผ๋ฉฐ ์๋ SoundCloud์์ ๊ฐ๋ฐ๋ ๊ฐ๋ฐฉํ(Apache 2.0) ์๊ณ์ด DBMS์ ๋๋ค. ์ฆ, ์ด๋ ์ธก์ ํญ๋ชฉ์ ์ ์ฅํฉ๋๋ค. Prometheus์ ํฅ๋ฏธ๋ก์ด ๊ธฐ๋ฅ์ Prometheus ์์ฒด๊ฐ ํน์ ์๋น์ค ์ธํธ์์ ๋ฉํธ๋ฆญ์ ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋๋ค(ํ์ ์ํํจ). ์ด๋ก ์ธํด Prometheus๋ ๋๊ธฐ์ด์ด๋ ์ด์ ์ ์ฌํ ๊ฒ์ผ๋ก ๋งํ ์ ์์ต๋๋ค. ์ด๋ ๋ชจ๋ํฐ๋ง์ด ์์คํ ์ ๋ณ๋ชฉ ํ์์ด ๊ฒฐ์ฝ ๋ฐ์ํ์ง ์์์ ์๋ฏธํฉ๋๋ค. ์ด ํ๋ก์ ํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ์ํ์ ํ์ฅ์ด๋ ๊ณ ๊ฐ์ฉ์ฑ์ ์ ๊ณตํ์ง ์๋๋ค๋ ์ ์์๋ ํฅ๋ฏธ๋กญ์ต๋๋ค.
์ฝ XNUMX๋ ์ , Gitlab ํ์ ๋์๋ณด๋ ์์ด๋ ๋ฉํธ๋ฆญ์ด ๊ทธ๋ค์ง ํธ๋ฆฌํ์ง ์๋ค๋ ๊ฒฐ๋ก ์ ๋ด๋ ธ์ต๋๋ค. ๊ทธ๋์ ๊ทธ๋ค์ ์ฌ์ฉ์๊ฐ Grafana๋ฅผ ์๋์ผ๋ก ์ค์นํ์ง ์๊ณ ๋ ๋ฐ์ดํฐ๋ฅผ ์๊ฐํํ ์ ์๋๋ก Grafana๋ฅผ ๋ง์ถคํ ๋์๋ณด๋์ ํตํฉํ์ต๋๋ค.
๋ฒ์ 12.0๋ถํฐ Gitlab์ ๊ธฐ๋ณธ์ ์ผ๋ก SSO๋ก ๊ตฌ์ฑ๋ Grafana๋ฅผ ํตํฉํ์ผ๋ฉฐ
Prometheus์ Gitlab ํตํฉ์๋ ๋ ๊ฐ์ง ๋ถ๋ถ์ด ์์ต๋๋ค.
- GitLab ๋ชจ๋ํฐ๋ง(์ด๋๋ฒ์ค)
- Kubernetes ํด๋ฌ์คํฐ์์ ๊ฐ๋ณ GitLab ์ ํ๋ฆฌ์ผ์ด์ ๋ชจ๋ํฐ๋ง
์ฌ์ฉ ๋ฐฉ๋ฒ
"Omnibus"๋ GitLab์ด ๊ธฐ๋ณธ ์ค์น ํจํค์ง๋ผ๊ณ ๋ถ๋ฅด๋ ๊ฒ์ ๋๋ค.
๊ทธ๋ผํ๋ ์ค์ ๋ฐฉ๋ฒ
Grafana ๋ก๊ทธ์ธ ๋ฐ ๋น๋ฐ๋ฒํธ๋ ๊ธฐ๋ณธ์ ์ผ๋ก ๋นํ์ฑํ๋์ด ์์ง๋ง(SSO ๋ก๊ทธ์ธ๋ง ํ์ฉ) ๊ด๋ฆฌ์ ๊ถํ์ผ๋ก ๊ณ์ ์ ๋ก๊ทธ์ธํด์ผ ํ๊ฑฐ๋ ์ฌ์ฉ์ ์ด๋ฆ๊ณผ ๋น๋ฐ๋ฒํธ๋ก ๋ก๊ทธ์ธ์ด ๊ฐ๋ฅํด์ผ ํ๋ ๊ฒฝ์ฐ Gitlab ๊ตฌ์ฑ์์ ์ด๋ฅผ ํ์ฑํํด์ผ ํฉ๋๋ค. ํด๋น ์ค์ ํธ์งํ์ฌ /etc/gitlab/gitlab .rb ํ์ผ์ ํธ์งํ์ธ์.
grafana['disable_login_form'] = false
๊ทธ๋ฆฌ๊ณ ๋ณ๊ฒฝ ์ฌํญ์ ์ ์ฉํ๋๋ก Gitlab์ ์ฌ๊ตฌ์ฑํฉ๋๋ค.
sudo gitlab-ctl reconfigure
Marketplace์ ๊ฐ์ ๋จธ์ ํ ํ๋ฆฟ์ ์ฌ์ฉํ์ฌ Gitlab์ ์์ํ ๊ฒฝ์ฐ /etc/gitlab/gitlab.rb์์ ํด๋น ์ค์ ๋ณ๊ฒฝํ์ฌ ์๋ฒ์ URL์ ํ ๋นํด์ผ ํฉ๋๋ค.
external_url = 'http://gitlab.mydomain.ru'
์ฌ๊ตฌ์ฑ์ ์ํํฉ๋๋ค.
sudo gitlab-ctl reconfigure
๊ทธ์ ๋ฐ๋ผ Grafana์ ๋ฆฌ๋๋ ์ URI๋ฅผ ๋ณ๊ฒฝํฉ๋๋ค.
๊ด๋ฆฌ ์์ญ > ์ ํ๋ฆฌ์ผ์ด์ > GitLab Grafana
SSO๋ฅผ ์ฌ์ฉํ์ฌ ์ฒ์ ๋ก๊ทธ์ธํ๋ฉด Gitlab์ Grafana ๋ก๊ทธ์ธ์ ์น์ธํ๊ธฐ ์ํ ๊ถํ์ ์์ฒญํฉ๋๋ค.
์ธก์ ํญ๋ชฉ
Grafana์์๋ ๊ธฐ๋ณธ ์๋น์ค์ ๊ธฐ์ฑ ๋์๋ณด๋๊ฐ โโGitlab Omnibus ์นดํ ๊ณ ๋ฆฌ์์ ๊ตฌ์ฑ๋๊ณ ์ฌ์ฉ ๊ฐ๋ฅํฉ๋๋ค.
๋์๋ณด๋ ๊ฐ์
์๋น์ค ํ๋ซํผ ์งํ ๋์๋ณด๋
- ๊ฐ์ - ์๋น์ค, ๋๊ธฐ์ด ๋ฐ ์๋ฒ ๋ฆฌ์์ค ์ฌ์ฉ ์ํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ๊ฐ์ ๋์๋ณด๋
- Gitaly - Gitlab ์ ์ฅ์์ ๋ํ RPC ์ก์ธ์ค๋ฅผ ์ ๊ณตํ๋ ์๋น์ค ๋ชจ๋ํฐ๋ง
- NGINX VTS - ์์ฒญ๋น ์๋น์ค ํธ๋ํฝ ๋ฐ HTTP ์ฝ๋์ ๋ํ ํต๊ณ
- PostgreSQL - PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ๊ฐ์ฉ์ฑ ๋ฐ ๋ก๋์ ๋ํ ํต๊ณ
- Praefect - ๊ณ ๊ฐ์ฉ์ฑ์ ๊ฐ์ถ ์คํ ๋ฆฌ์ง ๋ถํ ๋ชจ๋ํฐ๋ง Praefect
- Rails ์ฑ - Rails ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ์ ๋์๋ณด๋
- Redis - Redis ์๋น์ค์ ๋ก๋ ๋ชจ๋ํฐ๋ง
- ๋ ์ง์คํธ๋ฆฌ - ์ด๋ฏธ์ง ๋ ์ง์คํธ๋ฆฌ ๋ชจ๋ํฐ๋ง
- ์๋น์ค ํ๋ซํผ ์งํ - Gitlab์ ๋ฆฌ์์ค ํ์ฉ๋, ์๋น์ค ๊ฐ์ฉ์ฑ, RPC ์์ฒญ ์ ๋ฐ ์ค๋ฅ ์๋ฅผ ๋ณด์ฌ์ฃผ๋ ์๋น์ค ์งํ์ ๋๋ค.
ํตํฉ์ ๋งค์ฐ ํฌ๊ด์ ์ด๋ฉฐ Gitlab ์ฌ์ฉ์๋ ์ฆ์ ์๊ฐํ๋ Gitlab ์ธก์ ํญ๋ชฉ์ ๋ถ์ํ ์ ์์ต๋๋ค.
Gitlab์์๋ ๋์๋ณด๋ ์ ์ง ๋ฐ ์ ๋ฐ์ดํธ๋ฅผ ๋ด๋นํ๋ ๋ณ๋์ ํ์ด ์์ผ๋ฉฐ Gitlab์ SRE ์์ง๋์ด์ธ Ben Kochie์ ๋ฐ๋ฅด๋ฉด ๊ธฐ๋ณธ ์ค์ ๊ณผ ์ค๋น๋ ๋์๋ณด๋๋ ๋๋ถ๋ถ์ ์ฌ์ฉ์์๊ฒ ์ ํฉํฉ๋๋ค.
์ด์ ๊ฐ์ฅ ์ค์ํ ๊ฒ์ ํจ๊ป ์์ฅ์ ๋ง๋ค์ด ๋ณด์๋ ๊ฒ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ ์ฒด Habr ์ปค๋ฎค๋ํฐ๋ฅผ ๋ง์ผํ๋ ์ด์ค ์์ฑ์ ์ฐธ์ฌํ๋๋ก ์ด๋ํ๊ณ ์ถ์ต๋๋ค. ๊ฐ์ ๋ฐฉ๋ฒ์๋ ์ธ ๊ฐ์ง ์ต์ ์ด ์์ต๋๋ค.
์ด๋ฏธ์ง๋ฅผ ์ง์ ์ค๋นํ๊ณ ์๊ณ ์ 3000๋ฃจ๋ธ์ ํ๋ณดํ์ธ์.
์ฆ์ ์ ํฌ์ ๋์ ํ์ฌ ๋๋ฝ๋ ์ด๋ฏธ์ง๋ฅผ ์์ฑํ ์ค๋น๊ฐ ๋์ จ๋ค๋ฉด ์๋ฒ์ ์ฌ์ฉํ ์ ์๋ ๋ด๋ถ ์์ก์ผ๋ก 3000๋ฃจ๋ธ์ ์ ๋ฆฝํด ๋๋ฆฝ๋๋ค.
์ด๋ฏธ์ง๋ฅผ ๋ง๋๋ ๋ฐฉ๋ฒ:
- ์ฐ๋ฆฌ์ ํจ๊ป ๊ณ์ ์ ๋ง๋์ธ์
์จ๋ผ์ธ์ผ๋ก - ์ด๋ฏธ์ง๋ฅผ ์์ฑํ๊ณ ํ ์คํธํ ๊ฒ์ด๋ผ๊ณ ์ง์ํ์ ์๋ฆฌ์ธ์.
- 3000๋ฃจ๋ธ์ ์ ๋ฆฝํด ๋๋ฆฌ๊ณ ์ค๋ ์ท์ ์์ฑํ ์ ์๋ ๊ธฐ๋ฅ์ ์ ๊ณตํด ๋๋ฆฝ๋๋ค.
- ๊นจ๋ํ ์ด์ ์ฒด์ ๋ก ๊ฐ์ ์๋ฒ๋ฅผ ์ฃผ๋ฌธํ์ธ์
- ์ด VPS์ ์ํํธ์จ์ด๋ฅผ ์ค์นํ๊ณ ์ค์ ํ์ธ์.
- ์ํํธ์จ์ด ๋ฐฐํฌ๋ฅผ ์ํ ์ง์นจ ๋๋ ์คํฌ๋ฆฝํธ ์์ฑ
- ๊ตฌ์ฑ๋ ์๋ฒ์ ๋ํ ์ค๋ ์ท ์์ฑ
- "์๋ฒ ํ ํ๋ฆฟ" ๋๋กญ๋ค์ด ๋ชฉ๋ก์์ ์ด์ ์ ์์ฑ๋ ์ค๋ ์ท์ ์ ํํ์ฌ ์ ๊ฐ์ ์๋ฒ๋ฅผ ์ฃผ๋ฌธํฉ๋๋ค.
- ์๋ฒ ์์ฑ์ ์ฑ๊ณตํ๋ฉด 6๋จ๊ณ์์ ๋ฐ์ ์๋ฃ๋ฅผ ๊ธฐ์ ์ง์ํ์ ์ ๋ฌํฉ๋๋ค.
- ์ค๋ฅ๊ฐ ๋ฐ์ํ ๊ฒฝ์ฐ ์ง์ํ์ ์์ธ์ ํ์ธํ๊ณ ์ค์ ์ ๋ฐ๋ณตํ ์ ์์ต๋๋ค.
๋น์ฆ๋์ค ์์ ์์ ๊ฒฝ์ฐ: ์ํํธ์จ์ด ์ ๊ณต
๊ทํ๊ฐ 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%WikiJs1
-
0,0%๋ด๋ก 0
-
0,0%์์คํ๋์ค0
-
5,0%์คํ์นดํธ1
-
35,0%Django7
-
40,0%๋ผ๋ผ๋ฒจ8
-
20,0%๋ฃจ๋น ์จ ๋ ์ผ์ค4
-
55,0%NodeJs11
20๋ช
์ ์ฌ์ฉ์๊ฐ ํฌํํ์ต๋๋ค. 12๋ช
์ ์ฌ์ฉ์๊ฐ ๊ธฐ๊ถํ์ต๋๋ค.
์ถ์ฒ : habr.com