์ํ์ธ ์ ํต ๊ฐ๋ฐ์ Linux ๊ทธ๋ค์ APK ํจํค์ง ๊ด๋ฆฌ์, ๋น๋ ๋๊ตฌ, ์ธํ๋ผ ๊ตฌ์ฑ ์์ ๋ฐ ํจํค์ง ๋น๋ ์คํฌ๋ฆฝํธ(aport) ์์ ์ด ์ด๋ฃจ์ด์ง๋ ํ์ ๊ฐ๋ฐ ํ๋ซํผ์ธ gitlab.alpinelinux.org์ ๋ํ ํดํน ์๋์ ๊ดํ ์ ๋ณด๋ฅผ ๊ณต๊ฐํ์ต๋๋ค. ์ด ๊ณต๊ฒฉ์ Ruby ์ ๊ท ํํ์ ์์ง์ ์ ์ ์ค๋ฒํ๋ก๋ก ์ธํด ๋ฐ์ํ๋ GitLab ํ๋ซํผ์ ์ทจ์ฝ์ ์ ์ ์ฉํ์ฌ ์ด๋ฃจ์ด์ก์ต๋๋ค. ํดํน ์ฑ๊ณต์ ์ฆ๊ฑฐ๋ ํ์ ์ ๋ฐ๊ฒฌ๋์ง ์์์ง๋ง, ์ทจ์ฝ์ ์ ์ฉ ๊ฐ๋ฅ์ฑ์ ์์ ํ ๋ฐฐ์ ํ ์ ์์ผ๋ฏ๋ก GitLab ์ปจํ ์ด๋๊ฐ ์ ์ฌ์ ์ผ๋ก ์์๋ ๊ฒ์ผ๋ก ๊ฐ์ฃผ๋์ด ์ปจํ ์ด๋์ ๋ชจ๋ ๋ด์ฉ์ ์ฒ์๋ถํฐ ๋ค์ ๊ตฌ์ถํ๊ณ ์ฌ์ฉ์๋ค์ ์ํ ๋น๋ฐ๋ฒํธ ์ฌ์ค์ ์ ์ฐจ๋ฅผ ์์ํ์ต๋๋ค.
์ํ์ธ ์ธํ๋ผ ๊ด๋ฆฌ์ Linux ํ์ฌ ํ์ผ, ์์ฌ์ค๋ฌ์ด ์คํ ํ๋ก์ธ์ค, ๋น์ ์์ ์ธ API ํธ์ถ, ์ค์ ๋๋ ์์คํ ํ์ผ ๋ณ๊ฒฝ, ๋๋ ๋ฐ์ดํฐ ์ถ์ถ์์ ํํ ๋ฐ์ํ๋ ๋ถํ ๊ธ์ฆ ๋ฑ์ ๊ฐ์ง๋์ง ์์์ต๋๋ค. aports ์ ์ฅ์, ํจํค์ง ๋ฐ ๋ฆด๋ฆฌ์ค ํ์ผ์ ๋ฌด๊ฒฐ์ฑ ๋ถ์๊ณผ ์ธ๋ถ ๋น๋ ์๋ฒ ๋ฐ ๊ฐ๋ฐ์ ์์คํ ์ ์ฌ๋ณธ๊ณผ์ ๋์กฐ ๊ฒ์ฆ ๊ฒฐ๊ณผ, ์จ๊ฒจ์ง ๋ณ๊ฒฝ ์ฌํญ์ ๋ฐ๊ฒฌ๋์ง ์์์ต๋๋ค.
๋๊ฐ๋ ๋คํธ์ํฌ ์ฐ๊ฒฐ์ ๋ํ ์ ๋ณด ๋ถ์กฑ, ๋ก๊ทธ ์ํ ๊ณผ์ ์์ ์ผ๋ถ ๋ก๊ทธ ์ญ์ (์: cron ๋ก๊ทธ), ์น ์๋ฒ ๋ก๊ทธ์ ์์ธ ์ ๋ณด ๋ถ์กฑ(ํฌ๋์๋ฅผ ๋ฐ์์ํค์ง ์๋ ์ต์คํ๋ก์์ ์ฑ๊ณต์ ์ธ ์ฌ์ฉ์ ๋ก๊ทธ์ ๋ฐ์๋์ง ์์)์ผ๋ก ์ธํด ๊ณต๊ฒฉ ์ฑ๊ณต ๊ฐ๋ฅ์ฑ์ ์์ ํ ๋ฐฐ์ ํ ์๋ ์์ต๋๋ค.
๊ณต๊ฒฉ์ด ์ฑ๊ณตํ๋ฉด ๊ณต๊ฒฉ์๋ ๋ชจ๋ GitLab ์ฌ์ฉ์์ ๋ํ ๋ฐ์ดํฐ(๋น๋ฐ๋ฒํธ ํด์, ์ด๋ฉ์ผ ๋ฑ)๊ฐ ํฌํจ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ๊ทผํ ์ ์์ต๋๋ค. IP ์ฃผ์ ํ๊ฒฝ ๋ณ์ ๋ฐ ์ง์์ ํตํฉ ์์คํ
์ ํ ํฐ, 2๋จ๊ณ ์ธ์ฆ ์ฝ๋, ๊ฐ์ธ ์ก์ธ์ค ํ ํฐ์ ํด์๊ฐ, ๊ฐ์ธ ์ ์ฅ์ ๋ด์ฉ, ๊ธฐ๋ฐ ๋
ผ์ ๋ด์ฉ ๋ฑ. ๊ณต๊ฒฉ ๋์ ์๋ฒ์์ ๋ฆด๋ฆฌ์ค ๋ฐ ํจํค์ง์ ๋ํ ๋์งํธ ์๋ช
์ ์์ฑํ๋ ๋ฐ ์ฌ์ฉ๋๋ ํค. ์ฌ๊ธฐ๋ ์ฌ๋ ์ ์ฅ๋์ง ์์์ต๋๋ค.
ํด๋น ์ทจ์ฝ์ ์ ์ ์ฉํ๋ ค๋ ์ฒซ ๋ฒ์งธ ์๋๋ 10์ 20์ผ๊ณผ 21์ผ์ ๊ธฐ๋ก๋์์ต๋๋ค. ๊ณต๊ฒฉ์๋ GitLab ๊ณ์ ์ ๋ฑ๋กํ๊ณ ์์ ๋ ์ค์ ์ ์ง์์ ํตํฉ ์์คํ ์ผ๋ก ์ ์กํ๋ ค๊ณ ์๋ํ์ต๋๋ค. ๋ก๊ทธ์๋ GitLab ํ๋ก์ธ์ค ์ถฉ๋์ด 8๊ฑด ๊ธฐ๋ก๋์์ผ๋ฉฐ, ๊ทธ์ค 4๊ฑด์ ํด๋น ์ทจ์ฝ์ ์ ์ฉ๊ณผ ๊ด๋ จ์ด ์์์ต๋๋ค. ๊ณต๊ฒฉ์ 1๋จ๊ณ๋ ์ฑ๊ณตํ์ง๋ง, 2๋จ๊ณ๋ ์คํจํ์ต๋๋ค.
๊ณต๊ฒฉ ๋น์ ์ปจํ ์ด๋๋ ์ทจ์ฝํ ๋ฒ์ ์ GitLab 19.3.4๋ฅผ ์คํ ์ค์ด์์ผ๋ฉฐ, 10์ 22์ผ์ GitLab 19.3.6์ผ๋ก ์ ๋ฐ์ดํธ๋์์ต๋๋ค. ๊ทธ๋ฌ๋ Alpine ๊ด๋ฆฌ์๋ ํด๋น ์์ ์ฌํญ์ด ๊ณต์ GitLab 19.3.6 ์ค์น ํจํค์ง์๋ง ํฌํจ๋๊ณ GitLab ์ฝ๋ ์์ฒด์๋ ํฌํจ๋์ง ์์๋ค๋ ์ ์ ๊ณ ๋ คํ์ง ๋ชปํ์ต๋๋ค. ์ทจ์ฝ์ ์ Ruby ํด์ฒด์ธ์ ์กด์ฌํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ปจํ ์ด๋๋ ๊ณ์ํด์ ์ด์ ๋ฒ์ ์ Ruby ํด์ฒด์ธ์ ์ฌ์ฉํ๊ณ , ์ทจ์ฝ์ ์ ํจ์น๋์ง ์์ ์ฑ๋ก ๋จ์ ์์์ต๋๋ค.
๋๋จธ์ง ์ทจ์ฝ์ ์ 10์ 26์ผ์์ผ ๋ฐ๊ฒฌ๋์์ต๋๋ค. ๋ก๊ทธ ๋ถ์ ๊ฒฐ๊ณผ ๊ณต๊ฒฉ์๋ค์ 10์ 25์ผ๊ณผ 26์ผ์ ๊ณต๊ฒฉ์ ์ฌ๊ฐํ ๊ฒ์ผ๋ก ๋ํ๋ฌ์ต๋๋ค. 10์ 27์ผ์๋ GitLab์ ๋ํ ์ 3์ ์ ๊ทผ์ด ์ ํ๋์์ต๋๋ค. 10์ 28์ผ์๋ ์ฝํ
์ธ ๊ฐ ๋ณต๊ตฌ๋๊ณ ๋ชจ๋ ๋น๋ฐ๋ฒํธ๊ฐ ์ฌ์ค์ ๋์์ผ๋ฉฐ(์ฌ์ฉ์๋ ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ์ ์ฐจ๋ฅผ ํตํด ์ ๋น๋ฐ๋ฒํธ๋ฅผ ์ค์ ํด์ผ ํจ), ์ ๊ทผ ํค๊ฐ ๊ต์ฒด๋์์ต๋๋ค. 10์ 29์ผ์๋ ์
๋ฐ์ดํธ๋ ๋ด์ฉ์ด ๊ฒ์๋์์ต๋๋ค. ์๋ฒ ํด๋น ํ๋ก์ ํธ์์ ๊ด๋ฆฌํ๋ Docker ์ปจํ
์ด๋ alpinelinux/gitlab์ 10์ 27์ผ๊น์ง ์ทจ์ฝํ ์ํ์์ต๋๋ค.
์ถ์ฒ : opennet.ru
