๋น์ด์์ด๋ฅผ ์ด์ฉํด์ ๋๋ง์ ๋งฅ์ฃผ๋๊ฐ์ ๋ง๋ค์ด๋ณด์ธ์! ๊ทธ ๋ ๋ง์ จ๋ ๋ง์๋ ๋งฅ์ฃผ๊ฐ ๋ญ์์ง?๐ค ๋๋ ํธ์์ ๋งฅ์ฃผ ์ง์ด๋ ์์์ ๊ณ ๋ฏผํ์ง ๋ง์ธ์.
๋น์ด์์ด์ ํจ๊ป ์ธ๊ณ์ฌํ
Git์์ ์์๋ผ์ ์๋ฒ ๋ฐฐํฌ๊น์ง Git์ผ๋ก ๋๋๋ GitOps ํจํด์ผ๋ก ํ์ดํ๋ผ์ธ์ ๊ตฌํํ์ต๋๋ค. feature ๋ธ๋์น๊ฐ merge๋์ด prod(์ด์์๋ฒ), dev(๊ฐ๋ฐ์๋ฒ) ๋ธ๋์น์ ๋ฐ์๋ ๋๋ง ํธ๋ฆฌ๊ฑฐ ๋ฐ์ํ์ฌ ๊ฐ ํ๊ฒฝ์ ๋ง๊ฒ ๋ฐฐํฌ๊ฐ ์งํ๋ฉ๋๋ค.
์ด๋ฏธ์ง ํ๊น ์ ์ฑ ์ pr ๋ฒํธ๋ก, ๋ฐฐํฌ ์ฑ๊ณต์ ์ฌ๋ ์๋์๋ ์ด๋ค ์ด๋ฏธ์ง๊ฐ ๋ฐฐํฌ๋์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ์ฌ๋ ๋ฉ์ธ์ง๋ฅผ ํตํด ๋ฐฐํฌ ์ด๋ ฅ์ ๊ด๋ฆฌํ ์ ์์ด์ ์ฅ์ ์์๋ ๋นํฉํ์ง ์๊ณ ๊ฐ๋จํ๊ฒ ์ ํ๋ฆฌ์ผ์ด์ ๋กค๋ฐฑ์ ํ ์ ์์ต๋๋ค.
๊ด๋ฆฌ ํฌ์ธํธ๋ฅผ ์ค์ด๊ธฐ ์ํด Github Action์ผ๋ก๋ง ํ์ดํ๋ผ์ธ์ ๊ตฌ์ถํ์ด์. ๊ทธ๋งํผ ํธ์คํ ์๋ฒ์ ๋ถํ๋ฅผ ์ค์ด๊ธฐ ์ํด ๋์ปค ์คํ ์ด์ง ๋น๋, ๋์ปค ์บ์ฑ ๋ฑ์ ์ฌ์ฉํ์์ต๋๋ค.
๋ ์์ธํ ๋ด์ฉ์ด ๊ถ๊ธํ์๋ค๋ฉด ๋งฅ์ฃผ ํ ์บ๊ณผ ํจ๊ป ํ์ดํ๋ผ์ธ์ ์ฌํํด๋ด ์๋ค. ํ์ดํ๋ผ์ธ์ ์ฌํํ๋ ๊ฐ๋ฐ์๋ฅผ ์ํ ์๋ด์
๋ด๋ ๋ฆญ์ ํตํ ์ฑ๋ฅ ๋ชจ๋ํฐ๋ง๊ณผ ์ผํธ๋ฆฌ๋ฅผ ํตํด ์๋ฌ ๋ชจ๋ํฐ๋ง์ ์งํํ์ต๋๋ค.
K-์ ์์ผ์ ์ ์ ๐คผ
๊ธฐ์ต๋ณด๋จ ๊ธฐ๋ก์ ๐
- ์ ์ฒด join์์ LAZY์ ๋ต์ ์ฌ์ฉํ ์ด์
- batch_size๋ฅผ ์ ์ฉํด ๋ณด๋ฉฐ
- ์ํ์ด ์ฝ๋ฉ๊ณผ ํํฐ ์ ์ฉ(JSON)
- ์ฃผ๋์ด ๊ฐ๋ฐ์ ์๋ฐ๊ธฐ ํ๊ณ (์๋น์ค ๊ธฐ์ ์ด์ง ํ๊ธฐ)
- ์ฌ๊ธฐ๋ก์ด nginx ์ค์ ๊ฐ์ด๋
- Github Action ํธ๋ฌ๋ธ์ ๋ก๊ทธ
๊นํํธ | ๋ฅ์ฐฌ | ๊น๋ฏผ์ | ๊น์์ |
8์กฐ๋ฅผ ๋น๋ด์ค ํ์๋ถ๋ค๊ณผ ๋ํ๋ง ๋ถ๋ค๊ป ๊ฐ์ฌ์ ์ธ์ฌ๋ฅผ ๋๋ฆฝ๋๋ค