CI ๋๊ตฌ์ CI๊ฐ ์์ ํ ๋ค๋ฅธ ์ด์ ์ ๋ํด ๋ ผ์ํด ๋ณด๊ฒ ์ต๋๋ค.
CI๊ฐ ํด๊ฒฐํ๋ ค๋ ๋ฌธ์ ๋ ๋ฌด์์ธ์ง, ์์ด๋์ด๋ ์ด๋์ ์๋์ง, ์๋ํ๋์ง์ ๋ํ ์ต์ ํ์ธ์ ๋ฌด์์ธ์ง, Jenkins๋ฅผ ์ค์นํ ๊ฒ์ด ์๋๋ผ ์ค์ต์ด ์๋ค๋ ๊ฒ์ ์ดํดํ๋ ๋ฐฉ๋ฒ์ ๋๋ค.
์ง์์ ์ธ ํตํฉ์ ๋ํ ๋ณด๊ณ ์๋ฅผ ์์ฑํ๊ฒ ๋ค๋ ์์ด๋์ด๋ 10๋ ์ ์ ๊ฐ ๋ฉด์ ์ ๋ณด๋ฌ ๊ฐ๊ณ ์ผ์๋ฆฌ๋ฅผ ์ฐพ์ ๋ ๋ํ๋ฌ์ต๋๋ค. 15~XNUMX๊ฐ ํ์ฌ์ ์ด์ผ๊ธฐ๋ฅผ ๋๋ด๋๋ฐ ๊ทธ์ค ํ ๊ณณ์์๋ง CI๊ฐ ๋ฌด์์ธ์ง ๋ช ํํ๊ฒ ๋ตํ๊ณ CI๊ฐ ์๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ๊นจ๋ฌ์๋์ง ์ค๋ช ํ ์ ์์์ต๋๋ค. ๋๋จธ์ง๋ Jenkins์ ๋ํด ์ดํดํ ์ ์๋ ๋ง๋ ์๋๋ ์ด์ผ๊ธฐ๋ฅผ ํ๊ณ ์์์ต๋๋ค. :) ๊ธ์์, Jenkins๊ฐ ์๊ณ CI๋ ๋น๋ํฉ๋๋ค! ๋ณด๊ณ ์์์ ์ ๋ ์ง์์ ์ธ ํตํฉ์ด ์ค์ ๋ก ๋ฌด์์ธ์ง, ๊ทธ๋ฆฌ๊ณ ์ Jenkins ๋ฐ ์ ์ฌํ ๋๊ตฌ๊ฐ ์ด๊ฒ๊ณผ ๋งค์ฐ ์ฝํ ๊ด๊ณ๋ฅผ ๊ฐ์ง๊ณ ์๋์ง ์ค๋ช ํ๋ ค๊ณ ๋ ธ๋ ฅํ ๊ฒ์ ๋๋ค.
๊ทธ๋ ๋ค๋ฉด CI๋ผ๋ ๋จ์ด๋ฅผ ๋ค์ผ๋ฉด ๋ณดํต ๋ฌด์์ด ๋ ์ค๋ฅด๋์? ๋๋ถ๋ถ์ ์ฌ๋๋ค์ Jenkins, Gitlab CI, Travis ๋ฑ์ ์๊ฐํ ๊ฒ์ ๋๋ค.
Google์์ ๊ฒ์ํด๋ ์ด๋ฌํ ๋๊ตฌ๊ฐ ์ ๊ณต๋ฉ๋๋ค.
์ง๋ฌธํ๋ ๋ฐ ์ต์ํ๋ค๋ฉด ๋๊ตฌ๋ฅผ ๋์ดํ ์งํ์ ์ปค๋ฐ์ ๋ํ ํ ์์ฒญ์์ ํ ์คํธ๋ฅผ ๋น๋ํ๊ณ ์คํํ ๋ CI๊ฐ ์๋ค๋ ๊ฒ์ ์๋ ค์ค ๊ฒ์ ๋๋ค.
์ง์์ ์ธ ํตํฉ์ ๋๊ตฌ๋ ๋ธ๋์น์ ํ ์คํธ๊ฐ ํฌํจ๋ ์ด์ ๋ธ๋ฆฌ์ ๊ดํ ๊ฒ์ด ์๋๋๋ค! ์ง์์ ์ธ ํตํฉ์ ์๋ก์ด ์ฝ๋๋ฅผ ๋งค์ฐ ์์ฃผ ํตํฉํ๋ ๊ดํ์ด๋ฉฐ ์ด๋ฅผ ์ฌ์ฉํ๊ธฐ ์ํด Jenkins, GitLab ๋ฑ์ ์ฐจ๋จํ ํ์๊ฐ ์ ํ ์์ต๋๋ค.
๋ณธ๊ฒฉ์ ์ธ CI๊ฐ ์ด๋ค ๋ชจ์ต์ธ์ง ์์๋ณด๊ธฐ ์ ์ ๋จผ์ CI๋ฅผ ์๊ฐํด๋ธ ์ฌ๋๋ค์ ๋งฅ๋ฝ์ ์ดํด๋ณด๊ณ ๊ทธ๋ค์ด ํด๊ฒฐํ๋ ค๊ณ ํ๋ ๊ณ ํต์ ๋๊ปด๋ณด๊ฒ ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ํ์ผ๋ก ํจ๊ป ์ผํ๋ ๊ณ ํต์ ํด๊ฒฐํ์ต๋๋ค!
๊ฐ๋ฐ์๊ฐ ํ์ผ๋ก ๊ฐ๋ฐํ ๋ ์ง๋ฉดํ๋ ์ด๋ ค์์ ์๋ฅผ ์ดํด๋ณด๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์ ํ๋ก์ ํธ, git์ ๋ง์คํฐ ๋ธ๋์น, ๋ ๋ช ์ ๊ฐ๋ฐ์๊ฐ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ๋ชจ๋๊ฐ ์ค๋ซ๋์ ์ต์ํด ์ก๋ ๊ฒ์ฒ๋ผ ์ผํ๋ฌ๊ฐ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ ์ฒด์ ์ธ ๊ณํ์ ๋ฐ๋ผ ์์ ์ ์ํํ๊ณ ๊ธฐ๋ฅ ๋ธ๋์น๋ฅผ ์์ฑํ๊ณ ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค.
ํ๋๋ ๊ธฐ๋ฅ์ ๋ ๋นจ๋ฆฌ ์๋ฃํ๊ณ ์ด๋ฅผ ๋ง์คํฐ์ ๋ณํฉํ์ต๋๋ค.
๋ ๋ฒ์งธ๋ ์๊ฐ์ด ๋ ํ์ํ๊ณ ๋์ค์ ๋ณํฉ๋์ด ์ถฉ๋์ด ๋ฐ์ํ์ต๋๋ค. ์ด์ ๊ฐ๋ฐ์๋ ๋น์ฆ๋์ค์ ํ์ํ ๊ธฐ๋ฅ์ ์์ฑํ๋ ๋์ ๊ฐ๋ฑ์ ํด๊ฒฐํ๋ ๋ฐ ์๊ฐ๊ณผ ์๋์ง๋ฅผ ์๋นํฉ๋๋ค.
๊ทํ์ ๊ธฐ๋ฅ์ ๊ณตํต ๋ง์คํฐ์ ๊ฒฐํฉํ๋ ๊ฒ์ด ์ด๋ ค์ธ์๋ก ์ฐ๋ฆฌ๋ ์ด์ ์์๋๋ ์๊ฐ์ ๋ ๋ง์ด ์ฌ์ฉํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋ ์ด๊ฒ์ ๋งค์ฐ ๊ฐ๋จํ ์๋ฅผ ํตํด ๋ณด์ฌ์ฃผ์์ต๋๋ค. ์ด๊ฒ์ ๊ฐ๋ฐ์๊ฐ 2๋ช ๋ฟ์ธ ์์ธ๋ฐ, ํ์ฌ์์ 10๋ช , 15๋ช , 100๋ช ์ด ํ๋์ ์ ์ฅ์์ ๊ธ์ ์ด๋ค๊ณ ์์ํด ๋ณด์ธ์. ์ด ๋ชจ๋ ๊ฐ๋ฑ์ ํด๊ฒฐํ๋ ค๋ฉด ๋ฏธ์ณ๋ฒ๋ฆด ๊ฒ์ ๋๋ค.
์ฝ๊ฐ ๋ค๋ฅธ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ฐ๋ฆฌ์๊ฒ๋ ๋ง์คํฐ์ ์ผ๋ถ ๊ฐ๋ฐ์๊ฐ ๋ญ๊ฐ๋ฅผ ํ๊ณ ์์ต๋๋ค.
๊ทธ๋ค์ ๋๋ญ๊ฐ์ง๋ฅผ ๋ง๋ค์์ต๋๋ค.
ํ ๋ช ์ ์ฃฝ์๊ณ ๋ชจ๋ ๊ฒ์ด ๊ด์ฐฎ์๊ณ ์๋ฌด๋ฅผ ํต๊ณผํ์ต๋๋ค.
๊ทธ ์ฌ์ด ๋ ๋ฒ์งธ ๊ฐ๋ฐ์๊ฐ ์์ ์ ์๋ฌด๋ฅผ ๋งก๊ฒผ์ต๋๋ค. ๊ทธ๊ฐ ๊ฒํ ๋ฅผ ์ํด ๋ณด๋๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๋ง์ ํ์ฌ์๋ ๊ฒํ ๋ผ๋ ๊ดํ์ด ์์ต๋๋ค. ์ด ์ํ์ ํํธ์ผ๋ก๋ ์ข๊ณ ์ ์ฉํ์ง๋ง, ๋ค๋ฅธ ํํธ์ผ๋ก๋ ์ฌ๋ฌ ๋ฉด์์ ์ฐ๋ฆฌ์ ์๋๋ฅผ ๋ฆ์ถ๊ฒ ๋ฉ๋๋ค. ์ด์ ๋ํด ์์ธํ ๋ค๋ฃจ์ง๋ ์๊ฒ ์ง๋ง, ์ฌ๊ธฐ์ ๋์ ๋ฆฌ๋ทฐ ์คํ ๋ฆฌ๊ฐ ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ฌ ์ ์๋์ง ๋ณด์ฌ์ฃผ๋ ์ข์ ์๊ฐ ์์ต๋๋ค. ๊ฒํ ๋ฅผ ์ํด ํ ์์ฒญ์ ์ ์ถํ์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ๋ ์ด์ ํ ์ผ์ ์์ต๋๋ค. ๊ทธ๋ ๋ฌด์์ ์์ํฉ๋๊น? ๊ทธ๋ ๋ค๋ฅธ ์ผ์ ๋งก๊ธฐ ์์ํฉ๋๋ค.
์ด ๊ธฐ๊ฐ ๋์ ๋ ๋ฒ์งธ ๊ฐ๋ฐ์๋ ๋ค๋ฅธ ์์ ์ ์ํํ์ต๋๋ค.
์ฒซ ๋ฒ์งธ๋ ์ธ ๋ฒ์งธ ์์ ์ ์๋ฃํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ค๋ ์๊ฐ์ด ํ๋ฅธ ํ ๊ทธ์ ๋ฆฌ๋ทฐ๊ฐ ํ ์คํธ๋ฅผ ๊ฑฐ์ณค๊ณ ๊ทธ๋ ํฉ์๋ฅผ ์ด๋ฃจ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค. ๊ทธ๋์ ๋ฌด์จ ์ผ์ด์ผ? ๊ทธ๊ฒ์ ์์ฒญ๋ ์์ ๊ฐ๋ฑ์ ํฌ์ฐฉํฉ๋๋ค. ์? ์๋ํ๋ฉด ๊ทธ์ ํ ๋ฆฌํ์คํธ๊ฐ ๋ฆฌ๋ทฐ์ ๊ฑธ๋ ค ์๋ ๋์ ์ด๋ฏธ ์ฝ๋์์ ๋ง์ ๊ฒ์ด ๋ณ๊ฒฝ๋์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ฐ๋ฑ์ด ์๋ ์ด์ผ๊ธฐ ์ธ์๋ ์ํต์ด ์๋ ์ด์ผ๊ธฐ๊ฐ ์์ต๋๋ค. ์ค๋ ๋๊ฐ ๊ฒํ ์ค์ธ ๋์, ๋ฌด์ธ๊ฐ๋ฅผ ๊ธฐ๋ค๋ฆฌ๊ณ ์๋ ๋์, ์ค๋ซ๋์ ๊ธฐ๋ฅ์ ๋ํด ์์ ํ๋ ๋์ ์๋น์ค์ ์ฝ๋ ๋ฒ ์ด์ค์์ ๋ณ๊ฒฝ๋๋ ๋ค๋ฅธ ์ฌํญ์ ๋ํ ์ถ์ ์ ์ค๋จํฉ๋๋ค. ์๋ง๋ ์ง๊ธ ํด๊ฒฐํ๋ ค๋ ๊ฒ์ด ์ด์ ์ด๋ฏธ ํด๊ฒฐ๋์์ผ๋ฏ๋ก ์ด๋ค ๋ฐฉ๋ฒ์ ์ฌ์ฉํ์ฌ ๋ค์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ํ์ง๋ง ํญ์ ์ค๋๋ ๋ธ๋์น๋ก ์์ ํ๊ณ ์๊ธฐ ๋๋ฌธ์ ์ด ๋ด์ฉ์ ํ์๋์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ์ค๋๋ ๋ถ๊ธฐ๋ก ์ธํด ํญ์ ๋ณํฉ ์ถฉ๋์ ํด๊ฒฐํด์ผ ํฉ๋๋ค.
์ฐ๋ฆฌ๊ฐ ํ์ผ๋ก ์์ ํ๋ ๊ฒฝ์ฐ, ์ฆ ํ ์ฌ๋์ด ์๋๋ผ 5-10๋ช ์ด ์ ์ฅ์๋ฅผ ํ์ํ๋ ๊ฒฝ์ฐ ๋ง์คํฐ์ ์ฝ๋๋ฅผ ์ถ๊ฐํ์ง ์๋ ์๊ฐ์ด ๊ธธ์ด์ง์๋ก ๊ถ๊ทน์ ์ผ๋ก ํ์ํ๊ธฐ ๋๋ฌธ์ ๋ ๋ง์ ๊ณ ํต์ ๊ฒช๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ๋ณํฉํ์ธ์. ์ถฉ๋์ด ๋ง์์๋ก, ์ด์ ๋ฒ์ ์ผ๋ก ์์ ํ ์๋ก ๋ฌธ์ ๋ ๋ ๋ง์์ง๋๋ค.
ํจ๊ป ๋ญ๊ฐ๋ฅผํ๋ ๊ฒ์ ๊ณ ํต ์ค๋ฝ์ต๋๋ค! ์ฐ๋ฆฌ๋ ํญ์ ์๋ก์ ๊ธธ์ ๋ฐฉํดํฉ๋๋ค.
์ด ๋ฌธ์ ๋ 20์ฌ๋ ์ ์ ๋ํ๋ฌ์ต๋๋ค. ๋๋ ์ต์คํธ๋ฆผ ํ๋ก๊ทธ๋๋ฐ์์ ์ง์์ ์ธ ํตํฉ์ ๋ํ ์ฒซ ๋ฒ์งธ ์ธ๊ธ์ ๋ฐ๊ฒฌํ์ต๋๋ค.
์ต์คํธ๋ฆผ ํ๋ก๊ทธ๋๋ฐ์ ์ต์ด์ ์ ์์ผ ํ๋ ์์ํฌ์ ๋๋ค. ์ด ํ์ด์ง๋ 96๋ ์ ๋ฑ์ฅํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ข ๋ฅ์ ํ๋ก๊ทธ๋๋ฐ ๋ฐฉ์, ๊ณํ ๋ฐ ๊ธฐํ ์ฌํญ์ ์ฌ์ฉํ์ฌ ๊ฐ๋ฐ์ ์ต๋ํ ์ ์ฐํ๊ฒ ํ์ฌ ๊ณ ๊ฐ์ ๋ณ๊ฒฝ ์ฌํญ์ด๋ ์๊ตฌ ์ฌํญ์ ์ ์ํ๊ฒ ๋์ํ ์ ์๋๋ก ํ๋ ๊ฒ์ด ์์ด๋์ด์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ 24๋ ์ ๋ถํฐ ์ด ๋ฌธ์ ์ ์ง๋ฉดํ๊ธฐ ์์ํ์ต๋๋ค. ์ด๋ค ์ผ์ ๋งค์ฐ ์ค๋ซ๋์ ๋ถ์ ์ผ๋ก ์ํํ๋ฉด ๊ฐ๋ฑ์ด ์๊ธฐ ๋๋ฌธ์ ๊ทธ๊ฒ์ ๋ ๋ง์ ์๊ฐ์ ์๋นํ๊ฒ ๋๋ค๋ ๊ฒ์ ๋๋ค.
์ด์ "์ง์์ ํตํฉ"์ด๋ผ๋ ๋ฌธ๊ตฌ๋ฅผ ๊ฐ๋ณ์ ์ผ๋ก ๋ถ์ํ๊ฒ ์ต๋๋ค. ์ง์ ๋ฒ์ญํ๋ฉด ์ง์์ ์ธ ํตํฉ์ด ์ด๋ฃจ์ด์ง๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ์ผ๋ง๋ ์ฐ์์ ์ธ์ง๋ ๋ช ํํ์ง ์์ผ๋ฉฐ ๋งค์ฐ ๋ถ์ฐ์์ ์ ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ๊ฒ์ด ์ผ๋ง๋ ํตํฉ๋์ด ์๋์ง๋ ๊ทธ๋ค์ง ๋ช ํํ์ง ์์ต๋๋ค.
์ด๊ฒ์ด ๋ฐ๋ก ์ ๊ฐ ์ง๊ธ ์ฌ๋ฌ๋ถ์๊ฒ Extreme ํ๋ก๊ทธ๋๋ฐ์ ์ธ์ฉ๋ฌธ์ ์ ๊ณตํ๋ ์ด์ ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋ ๋จ์ด๋ฅผ ๋ณ๋๋ก ๋ถ์ํ ๊ฒ์ ๋๋ค.
ํตํฉ - ์ด๋ฏธ ๋งํ๋ฏ์ด ์ฐ๋ฆฌ๋ ๋ชจ๋ ์์ง๋์ด๊ฐ ์ต์ ๋ฒ์ ์ ์ฝ๋๋ก ์์ ํ๋๋ก ๋ ธ๋ ฅํ์ฌ ๊ฐ๋ฅํ ํ ์์ฃผ ์์ ์ ์ฝ๋๋ฅผ ๊ณตํต ๋ถ๊ธฐ์ ์ถ๊ฐํ์ฌ ์์ ๋ถ๊ธฐ๊ฐ ๋๋๋ก ๋ ธ๋ ฅํฉ๋๋ค. ํฌ๊ธฐ๊ฐ ํฌ๋ฉด ์ผ์ฃผ์ผ ๋์ ๋ณํฉ ์ถฉ๋์ด ๋ฐ์ํ๊ธฐ ์ฝ์ต๋๋ค. ๊ฐ๋ฐ์๊ฐ ์ผ๋ถ ๊ฑฐ๋ํ ๊ธฐ๋ฅ์ ์ญ์ ํ๊ธฐ ์ํด ํ ๋ฌ ๋์ ์๋ฆฌ๋ฅผ ๋น์ด ํญํฌ์์ ๊ฐ์ด ๊ฐ๋ฐ ์ฃผ๊ธฐ๊ฐ ๊ธด ๊ฒฝ์ฐ ํนํ ๊ทธ๋ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ ์์ฃผ ์ค๋ซ๋์ ํตํฉ ๋จ๊ณ์ ๋จธ๋ฌผ๊ฒ ๋ ๊ฒ์ด๋ค.
ํตํฉ์ ๋ธ๋์น๋ฅผ ๋ง์คํฐ์ ํตํฉํ๊ณ ๋ณํฉํ๋ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๊ฐ ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ์๋ผ๋ฉด ์ถ๊ฐ ๋ธ๋์น ์์ด ์ฆ์ ๋ง์คํฐ์ ์ธ ์ ์๋๋ก ๋ ธ๋ ฅํ๋ ๊ถ๊ทน์ ์ธ ์ต์ ์ด ์์ต๋๋ค.
์ผ๋ฐ์ ์ผ๋ก ํตํฉ์ด๋ ์ฝ๋๋ฅผ ๊ฐ์ ธ์ ๋ง์คํฐ๋ก ๋์ด์ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค.
์ฌ๊ธฐ์ "์ฐ์"์ด๋ผ๋ ๋จ์ด๋ ๋ฌด์์ ์๋ฏธํฉ๋๊น? ์ฐ์์ฑ์ด๋ ๋ฌด์์ ๋๊น? ์ฐ์ต์ ๊ฐ๋ฐ์๊ฐ ์์ ์ ์ฝ๋๋ฅผ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ํตํฉํ๋ ค๊ณ ๋ ธ๋ ฅํ๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ๋ชจ๋ ์์ ์ ์ํํ ๋ ๊ทธ์ ๋ชฉํ๋ ๊ฐ๋ฅํ ํ ๋นจ๋ฆฌ ๊ทธ์ ์ฝ๋๋ฅผ ๋ง์คํฐ๋ก ๊ฐ์ ธ์ค๋ ๊ฒ์ ๋๋ค. ์ด์์ ์ธ ์ธ์์์ ๊ฐ๋ฐ์๋ ๋ช ์๊ฐ๋ง๋ค ์ด ์์ ์ ์ํํฉ๋๋ค. ์ฆ, ์์ ๋ฌธ์ ๋ฅผ ๊ฐ์ ธ์์ ๋ง์คํฐ์ ๋ณํฉํฉ๋๋ค. ๋ชจ๋ ๊ฒ์ด ์ข์. ์ด๊ฒ์ด ๋น์ ์ด ์ถ๊ตฌํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ์ง์์ ์ผ๋ก ์ด๋ฃจ์ด์ ธ์ผ ํฉ๋๋ค. ๋น์ ์ด ๋ฌด์์ธ๊ฐ๋ฅผ ํ์๋ง์, ๋น์ ์ ๊ทธ๊ฒ์ ์ฆ์ ๋ง์คํฐ์ ์ง์ด๋ฃ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ฌด์ธ๊ฐ๋ฅผ ๋ง๋๋ ๊ฐ๋ฐ์๋ ๊ทธ๊ฒ์ด ์๋ํ๋๋ก ํ๊ณ ์ด๋ค ๊ฒ๋ ๊นจ์ง์ง ์๊ฒ ํ๊ธฐ ์ํด ์์ ์ด ํ ์ผ์ ์ฑ ์์ด ์์ต๋๋ค. ํ ์คํธ ์คํ ๋ฆฌ๋ ๋ณดํต ์ฌ๊ธฐ์ ๋์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ปค๋ฐ๊ณผ ๋ณํฉ์ ๋ํด ๋ช ๊ฐ์ง ํ ์คํธ๋ฅผ ์คํํ์ฌ ์ ๋๋ก ์๋ํ๋์ง ํ์ธํ๊ณ ์ถ์ต๋๋ค. ์ด๊ฒ์ด Jenkins๊ฐ ๋น์ ์ ๋์ธ ์ ์๋ ๊ณณ์ ๋๋ค.
ํ์ง๋ง ์คํ ๋ฆฌ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ ์๊ฒ ๋ง๋ค๊ณ , ์์ ์ ์๊ฒ ๋ง๋ค๊ณ , ๋ฌธ์ ๋ฅผ ๋ง๋ค๊ณ ์ฆ์ ์ด๋ป๊ฒ๋ ๋ง์คํฐ์ ์ฝ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์ฌ๊ธฐ์๋ Jenkins๊ฐ ๋์์ด ๋์ง ์์ต๋๋ค. Jenkins๋ ํ ์คํธ ์คํ์๋ง ๋์์ ์ฃผ๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทธ๋ค ์์ด๋ ํ ์ ์์ต๋๋ค. ์ด๊ฒ์ ๋น์ ์๊ฒ ์ ํ ํด๋ฅผ ๋ผ์น ์ง ์์ ๊ฒ์ ๋๋ค. ์ฐ์ต์ ๋ชฉํ๋ ๋ฏธ๋์ ๊ฐ๋ฑ์ ์์ฒญ๋ ์๊ฐ์ ๋ญ๋นํ์ง ์๋๋ก ๊ฐ๋ฅํ ํ ์์ฃผ ์ธก์ ํ๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ด๋ค ์ด์ ์์์ธ์ง ์ฐ๋ฆฌ๊ฐ 2020๋ ์ ์ธํฐ๋ท์ด ์๋ค๊ณ ์์ํด ๋ด ์๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ํ์ง์์ ์ผํฉ๋๋ค. ์ฐ๋ฆฌ์๊ฒ ์ ํจ์ค๊ฐ ์์ต๋๋ค. ์ด๊ฑด ๊ด์ฐฎ์. ๊ณ์ ์งํํ์ฌ ๋ก์ปฌ ์ง์ ์ ๋ง๋ค ์ ์์ต๋๋ค. ๊ทธ ์์ ๋ช ๊ฐ์ง ์ฝ๋๋ฅผ ์์ฑํ์ต๋๋ค. ์ฐ๋ฆฌ๋ 3~4์๊ฐ ๋ง์ ์์ ์ ์๋ฃํ์ต๋๋ค. ๋ง์คํฐ๋ก ์ ํํ๊ณ git pull์ ์ํํ ํ ๊ฑฐ๊ธฐ์ ๋ธ๋์น๋ฅผ ๋ณํฉํ์ต๋๋ค. ์ค๋น๊ฐ ๋. ์ด ์์ ์ ์์ฃผ ์ํํ๋ค๋ฉด ์ถํํฉ๋๋ค. ์ง์์ ์ธ ํตํฉ์ด ์ด๋ฃจ์ด์ง ๊ฒ์ ๋๋ค!
ํ๋ ์ฌํ์์ ์๋์ง๋ฅผ ํฌ์ํ ๊ฐ์น๊ฐ ์๋ค๋ ์ฆ๊ฑฐ๋ ๋ฌด์์ ๋๊น? ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ต๊ธฐ ๋๋ฌธ์ ๋๋ค. ์ด๋ ๊ฒ ์์ ํ๋ ค๊ณ ํ๋ฉด ์ด์ ์ผ๋ถ ๊ณํ์ด ์ํฅ์ ๋ฐ๊ณ ์์ ๋ถํด์ ๋ ๋ง์ ์๊ฐ์ ํฌ์ํด์ผ ํ๋ค๋ ๊ฒ์ ์ดํดํ๊ฒ ๋ ๊ฒ์ ๋๋ค. ์๋๋ฉด ๋จ์... ๊ทธ๋ ๊ฒ ํ๋ฉด ๋นจ๋ฆฌ ํฉ์ํ์ง ๋ชปํด์ ๊ณค๊ฒฝ์ ๋น ์ง๊ฒ ๋๊ฑฐ๋ ์. ๋ ์ด์ ์ฐ์ตํ ํ์๊ฐ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋น์ ๊ฒ์ ๋๋ค. Continuous Integration์ ์ฌ์ฉํ๋ฉด ๋ด์ผ๋ถํฐ ์ฆ์ ์์ ์ด ๋ถ๊ฐ๋ฅํฉ๋๋ค. ์ต์ํด์ง๋ ๋ฐ๋ ๋งค์ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ด๊ณ , ์์ ์ ๋ถํดํ๋ ๋ฐ๋ ๋งค์ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ด๋ฉฐ, ๊ฒํ ์ฐ์ต์ ๋ค์ ์ํํ๋ ๋ฐ ์ต์ํด์ง๋ ๋ฐ๋ ๋งค์ฐ ์ค๋ ์๊ฐ์ด ๊ฑธ๋ฆด ๊ฒ์ ๋๋ค. . ์๋ํ๋ฉด ์ฐ๋ฆฌ์ ๋ชฉํ๋ ์ค๋ ๋ น์ด๋ ๊ฒ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ XNUMX์ผ ์ด๋ด์ ๊ฒํ ๋ฅผ ์ํํ๋ฉด ๋ฌธ์ ๊ฐ ๋ฐ์ํ๊ณ ์ง์์ ์ธ ํตํฉ์ด ํจ๊ณผ๊ฐ ์๊ฒ ๋ฉ๋๋ค.
ํ์ง๋ง ํ์ฌ ์ด๋ฌํ ๊ดํ์ ํฌ์ํ๋ ๊ฒ์ด ํฉ๋ฆฌ์ ์ด๋ผ๋ ๊ด๋ จ ์ฆ๊ฑฐ๊ฐ ์์ต๋๊น?
๋ด ๋ง์์ ๊ฐ์ฅ ๋จผ์ ๋ ์ค๋ฅธ ๊ฒ์ State of DevOps์์ต๋๋ค. ์ด๊ฒ์ ๊ทธ ์ฌ๋๋ค์ด 7๋ ๋์ ์ํํด ์จ ์ฐ๊ตฌ์ ๋๋ค. ์ด์ ๊ทธ๋ค์ ๋ ๋ฆฝ์ ์ธ ์กฐ์ง์ผ๋ก ์ด๋ฅผ ์ํํ์ง๋ง Google์์ ์ํํฉ๋๋ค.
2018๋ ์ฐ๊ตฌ์์๋ ๋น ๋ฅด๊ฒ ํตํฉํ๊ณ ์์ฃผ ํตํฉํ๋ฉฐ ๋ ๋์ IT ์ฑ๊ณผ ์งํ๋ฅผ ๊ฐ์ถ ๋จ๊ธฐ ์ง์ ์ ์ฌ์ฉํ๋ ค๋ ๊ธฐ์ ๊ฐ์ ์๊ด ๊ด๊ณ๋ฅผ ๋ณด์ฌ์ฃผ์์ต๋๋ค.
์ด ์งํ๋ ๋ฌด์์ ๋๊น? ๋ฐฐํฌ ๋น๋, ๋ณ๊ฒฝ ๋ฆฌ๋ ํ์, ์๋น์ค ๋ณต์ ์๊ฐ, ๋ณ๊ฒฝ ์คํจ์จ ๋ฑ ์ค๋ฌธ์กฐ์ฌ๋ฅผ ํตํด ๋ชจ๋ ํ์ฌ๋ก๋ถํฐ ์ทจํ๋ 4๊ฐ์ง ์งํ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ฒซ์งธ, ์ด๋ฌํ ์๊ด๊ด๊ณ๊ฐ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์์ฃผ ์ธก์ ํ๋ ํ์ฌ๊ฐ ํจ์ฌ ๋ ๋์ ์งํ๋ฅผ ๊ฐ์ง๊ณ ์๋ค๋ ๊ฒ์ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ํ์ฌ๋ฅผ ์ฌ๋ฌ ๋ฒ์ฃผ๋ก ๊ตฌ๋ถํฉ๋๋ค. ์ด๋ค์ ์ฒ์ฒํ ๋ฌด์ธ๊ฐ๋ฅผ ์์ฐํ๋ ๋๋ฆฐ ํ์ฌ, ์ค๊ฐ ์ฑ๊ณผ, ๋์ ์ฑ๊ณผ ๋ฐ ์๋ฆฌํธ์ ๋๋ค. ์๋ฆฌํธ๋ ์ด๊ณ ์์ด๋ฉฐ ๋ชจ๋ ๊ฒ์ ๋น ๋ฅด๊ณ ์๋ฆ๋ต๊ณ ํจ์จ์ ์ผ๋ก ์ํํ๋ Netflix, Amazon์ ๋๋ค.
๋ถ๊ณผ ํ ๋ฌ ์ ์ผ์ด๋ ๋ ๋ฒ์งธ ์ด์ผ๊ธฐ. Technology Radar์๋ Gitflow์ ๋ํ ํ๋ฅญํ ๊ธฐ์ฌ๊ฐ ์์ต๋๋ค. Gitflow๋ ๋ธ๋์น๊ฐ ์ค๋ ์ง์๋๋ค๋ ์ ์์ ๋ค๋ฅธ ๋ชจ๋ ๊ฒ๊ณผ ๋ค๋ฆ ๋๋ค. ์ค๋ซ๋์ ์ ์ง๋๋ ๋ฆด๋ฆฌ์ค ๋ธ๋์น์ ์ค๋ซ๋์ ์ ์ง๋๋ ๊ธฐ๋ฅ ๋ธ๋์น๊ฐ ์์ต๋๋ค. Technology Radar์ ์ด ๊ดํ์ HOLD๋ก ์ ํ๋์์ต๋๋ค. ์? ์๋ํ๋ฉด ์ฌ๋๋ค์ ํตํฉ์ ๊ณ ํต์ ๊ฒช๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค.
๊ทํ์ ๋ธ๋์น๊ฐ ์์ฃผ ์ค๋ซ๋์ ์ง์๋๋ค๋ฉด, ๋ธ๋์น๋ ๊ผผ์ง ๋ชปํ๊ฒ ๋๊ณ , ์ฉ๊ฒ ๋๋ฉฐ, ์ฐ๋ฆฌ๋ ๋ธ๋์น์ ๋ณํ๋ฅผ ์ฃผ๊ธฐ ์ํด ๋ ๋ง์ ์๊ฐ์ ์๋นํ๊ธฐ ์์ํฉ๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ต๊ทผ Gitflow์ ์ ์๋ ์ง์์ ์ธ ํตํฉ์ด ๋ชฉํ์ด๊ณ ๊ฐ๋ฅํ ํ ์์ฃผ ๋กค๋งํ๋ ๊ฒ์ด ๋ชฉํ๋ผ๋ฉด Gitflow๋ ๋์ ์๊ฐ์ด๋ผ๊ณ ๋งํ์ต๋๋ค. ๊ทธ๋ ๋ณ๋๋ก ๊ธฐ์ฌ์ ์ถ๊ฐํ์ต๋๋ค. ์ด๋ฅผ ์ํด ๋ ธ๋ ฅํ ์ ์๋ ๋ฐฑ์๋๊ฐ ์๋ค๋ฉด Gitflow๋ ๋ถํ์ํ ๊ฒ์ ๋๋ค. Gitflow๊ฐ ์๋๋ฅผ ๋ฆ์ถ๊ธฐ ๋๋ฌธ์ Gitflow๋ ํตํฉ์ ๋ฌธ์ ๋ฅผ ์ผ์ผํฌ ๊ฒ์ ๋๋ค.
์ด๋ Gitflow๊ฐ ๋์๊ณ ์ฌ์ฉํด์๋ ์ ๋๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ๋ค๋ฅธ ๊ฒฝ์ฐ๋ฅผ ์ํ ๊ฒ์ ๋๋ค. ์๋ฅผ ๋ค์ด ์๋น์ค๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ฌ๋ฌ ๋ฒ์ ์ ์ง์ํด์ผ ํ๋ ๊ฒฝ์ฐ, ์ฆ ์ฅ๊ธฐ๊ฐ ์ง์์ด ํ์ํ ๊ฒฝ์ฐ์ ๋๋ค.
๊ทธ๋ฐ๋ฐ ๊ทธ๋ฐ ์๋น์ค๋ฅผ ์ง์ํ๋ ๋ถ๋ค๊ณผ ์ด์ผ๊ธฐ๋ฅผ ๋๋ ๋ณด๋ฉด ์ด๋ฒ ๋ฒ์ ์ด 3.2๊ฐ์ ์ ์ธ 4 ๋ฒ์ ์ธ๋ฐ ์ด ํฝ์ค๊ฐ ํฌํจ๋์ด ์์ง ์์์ ์ง๊ธ ๋ง๋ค๋ ค๋ฉด, ๋ง์ ๋ณํ๋ฅผ ์ฃผ์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด์ ๊ทธ๋ค์ ๋ค์ ๋งํ๊ฒ ๋์๊ณ , ์๋ก์ด ๊ธฐ๋ฅ์ ๊ตฌํํ๊ธฐ ์ํด ์ผ์ฃผ์ผ ๋์ ์ด๋ฆฌ์ ๋ฆฌ ๋์๋ค๋ ์ต๋๋ค.
Alexander Kovalev๊ฐ ์ฑํ ์์ ์ฌ๋ฐ๋ฅด๊ฒ ์ธ๊ธํ๋ฏ์ด ์๊ด๊ด๊ณ๋ ์ธ๊ณผ๊ด๊ณ์ ๋์ผํ์ง ์์ต๋๋ค. ์ด๊ฒ์ ์ฌ์ค์ด๋ค. ์ฆ, ์ง์์ ํตํฉ์ด ์์ผ๋ฉด ๋ชจ๋ ์งํ๊ฐ ํ๋ฅญํ ๊ฒ์ด๋ผ๋ ์ง์ ์ ์ธ ์ฐ๊ด์ฑ์ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ํ๋๊ฐ ํ๋๋ผ๋ฉด ๋ค๋ฅธ ํ๋๋ ๊ทธ๋ด ๊ฐ๋ฅ์ฑ์ด ๋๋ค๋ ๊ธ์ ์ ์ธ ์๊ด๊ด๊ณ๊ฐ ์์ต๋๋ค. ์ฌ์ค์ ์๋์ง๋ง ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ๊ทธ๊ฒ์ ๋จ์ง ์๊ด๊ด๊ณ์ผ ๋ฟ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ด๋ฏธ ๋ญ๊ฐ๋ฅผ ํ๊ณ ์๋ ๊ฒ ๊ฐ๊ณ , ์ด๋ฏธ ๋ณํฉํ๊ณ ์๋ ๊ฒ ๊ฐ์ต๋๋ค. ํ์ง๋ง ์ฐ๋ฆฌ๊ฐ ์ฌ์ ํ ์ง์์ ์ธ ํตํฉ์ ๊ฐ๊ณ ์๊ณ ๊ฝค ์์ฃผ ๋ณํฉํ๊ณ ์๋ค๋ ๊ฒ์ ์ด๋ป๊ฒ ์ดํดํ ์ ์์ต๋๊น?
Jez Humble์ Handbook, Accelerate, Continuous Delivery ์น ์ฌ์ดํธ ๋ฐ Continuous Delivery ์ฑ ์ ์ ์์ ๋๋ค. ๊ทธ๋ ๋ค์๊ณผ ๊ฐ์ ํ ์คํธ๋ฅผ ์ ๊ณตํฉ๋๋ค.
- ์์ง๋์ด์ ์ฝ๋๋ ๋งค์ผ ๋ง์คํฐ์๊ฒ ์ ๋ฌ๋ฉ๋๋ค.
- ๋ชจ๋ ์ปค๋ฐ์ ๋ํด ๋จ์ ํ ์คํธ๋ฅผ ์คํํฉ๋๋ค.
- ๋ง์คํฐ์ ๋น๋๊ฐ ๋จ์ด์ก๋๋ฐ, ์ฝ 10๋ถ๋ง์ ๊ณ ์ณ์ก์ต๋๋ค.
๊ทธ๋ ์ถฉ๋ถํ ์ฐ์ต์ด ์๋์ง ํ์ธํ๊ธฐ ์ํด ์ด์ ๊ฐ์ ํ ์คํธ๋ฅผ ์ฌ์ฉํ ๊ฒ์ ์ ์ํฉ๋๋ค.
๋๋ ํ์๊ฐ ์ฝ๊ฐ ๋ ผ๋์ ์ฌ์ง๊ฐ ์๋ค๊ณ ์๊ฐํฉ๋๋ค. ์ฆ, 10๋ถ ์์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ฉด ์ง์์ ์ธ ํตํฉ์ด ์๋ ๊ฒ์ ๋๋ค. ์ ์๊ฐ์๋ ์กฐ๊ธ ์ด์ํ๊ฒ ๋ค๋ฆฌ์ง๋ง ๋ง์ด ๋ฉ๋๋ค. ์? ์์ฃผ ์ ์งํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๋ค๋ ์๋ฏธ์ด๊ธฐ ๋๋ฌธ์ ๋๋ค. ์์ ๋ณ๊ฒฝ์ผ๋ก ์ธํด ๋ง์คํฐ ๋น๋๊ฐ ์์๋์์์ ์๋ฏธํ๋ ๊ฒฝ์ฐ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์ ์ ์ํ๊ฒ ์์ ๋ฅผ ์ฐพ์ ์ ์์ต๋๋ค. ์ฌ๊ธฐ์๋ ์์ ๋ณํฉ์ด ์์๊ณ 20-30์ค์ด ๋ณ๊ฒฝ๋์์ต๋๋ค. ๋ฐ๋ผ์ ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์ ๋ฌธ์ ๋ฅผ ๊ฒ์ํ ์์ญ์ด ๋งค์ฐ ์๊ธฐ ๋๋ฌธ์ ์ด์ ๊ฐ ๋ฌด์์ธ์ง ๋นจ๋ฆฌ ์ดํดํ ์ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ถ์ ํ ์ ํ์ด ๋ฌด๋์ง๋๋ผ๋ ์ง์์ ํตํฉ์ ์คํํ๋ฉด ๋ณ๊ฒฝ ์ฌํญ์ด ์๊ธฐ ๋๋ฌธ์ ์กฐ์น๋ฅผ ์ทจํ๋ ๊ฒ์ด ํจ์ฌ ์ฝ์ต๋๋ค. ์, ์ด๋ ๊ณํ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ์ด๊ฒ์ ์ํ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ง๋ ์ด ์ฐ์ต์์ ๊ฐ์ฅ ์ด๋ ค์ด ์ผ์ ์์ ์ ์ธ๋ถํํ๋ ๋ฐ ์ต์ํด์ง๋ ๊ฒ์ ๋๋ค. ์ฆ, ๋ช ์๊ฐ ์์ ๋ฌด์ธ๊ฐ๋ฅผ ์ํํ๊ณ ๋์์ ๊ฒํ ๋ฅผ ํต๊ณผํ ์ ์๋๋ก ์ํํ๋ ๋ฐฉ๋ฒ์ ๋๋ค. ๋๊ฐ ํ๋ ๊ฐ์ง๊ณ ์๋ค. ๊ฒํ ๋ ๋ณ๋์ ๊ณ ํต์ ๋๋ค.
๋จ์ ํ ์คํธ๋ ํตํฉ์ด ์ฑ๊ณตํ๋์ง, ์์๋ ๋ถ๋ถ์ ์๋์ง ์ดํดํ๋ ๋ฐ ๋์์ด ๋๋ ๋ณด์กฐ์์ผ ๋ฟ์ ๋๋ค. ์ ์๊ฐ์๋ ์ด๊ฒ์ด ์ค์ฒ์ ์์ ์ด ์๋๊ธฐ ๋๋ฌธ์ ์์ ํ ํ์๋ ์๋๋๋ค.
์ง์์ ํตํฉ์ ๋ํ ๊ฐ๋ตํ ์๊ฐ์ ๋๋ค. ์ด๊ฒ์ด ์ด ์ฐ์ต์ ์ ๋ถ์ ๋๋ค. ์ง๋ฌธ์ ๋ฐ์ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค.
๋ค์ ๊ฐ๋จํ ์์ฝํ๊ฒ ์ต๋๋ค.
- ์ง์์ ์ธ ํตํฉ์ Jenkins๋ ์๋๊ณ Gitlab๋ ์๋๋๋ค.
- ์ด๊ฒ์ ๋๊ตฌ๊ฐ ์๋๋ฉฐ, ๊ฐ๋ฅํ ํ ์์ฃผ ์ฝ๋๋ฅผ ๋ง์คํฐ์ ๋ณํฉํ๋ ๊ฒ์ด ๊ดํ์ ๋๋ค.
- ์ฐ๋ฆฌ๋ ๋ฏธ๋์ ์ตํฉ์ผ๋ก ์ธํด ๋ฐ์ํ๋ ์์ฒญ๋ ๊ณ ํต์ ํผํ๊ธฐ ์ํด ์ด๋ ๊ฒ ํฉ๋๋ค. ์ฆ, ๋ฏธ๋์ ๋ ์ด์ ๊ฒฝํํ์ง ์๊ธฐ ์ํด ์ง๊ธ ์ฝ๊ฐ์ ๊ณ ํต์ ๊ฒฝํํ๋ ๊ฒ์ ๋๋ค. ๊ทธ๊ฒ ์์ ์ ๋๋ค.
- ์ธก๋ฉด์๋ ์ฝ๋๋ฅผ ํตํ ํต์ ์ด ์๋๋ฐ ์ด๊ฒ์ ๊ฑฐ์ ๋ณผ ์ ์์ง๋ง ์ด๊ฒ์ด ๋ํ ์ค๊ณ๋ ๊ฒ์ ๋๋ค.
์ง๋ฌธ
๋ถํด๋์ง ์์ ์์ ์ ์ด๋ป๊ฒ ํด์ผ ํ๋์?
๋ถํดํ๋ค. ๋ฌธ์ ๋ ๋ฌด์์ ๋๊น? ํ์คํฌ๊ฐ ์๋๋ฐ ๋ถํด๋์ง ์์ ์๋ฅผ ๋ค์ด์ฃผ์ค ์ ์๋์?
"์์ ํ"๋ผ๋ ๋จ์ด๋ก ๋ถํดํ ์ ์๋ ์์ ์ด ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๋งค์ฐ ๊น์ ์ ๋ฌธ ์ง์์ด ํ์ํ๊ณ ์ค์ ๋ก ํ ๋ฌ ์์ ํด๊ฒฐํ์ฌ ์ํ ๊ฐ๋ฅํ ๊ฒฐ๊ณผ๋ฅผ ์ป์ ์ ์๋ ์์ ์ด ์์ต๋๋ค.
๋ด๊ฐ ๋น์ ์ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ๋ค๋ฉด ํฌ๊ณ ๋ณต์กํ ์์ ์ด ์๋๋ฐ ๊ทธ ๊ฒฐ๊ณผ๋ ํ ๋ฌ ํ์์ผ ๋ณผ ์ ์์ต๋๊น?
๋ค ๋ง์ต๋๋ค. ์, ํ ๋ฌ ์ด๋ด์ ๊ฒฐ๊ณผ๋ฅผ ํ๊ฐํ ์ ์์ต๋๋ค.
๊ด์ฐฎ์. ์ผ๋ฐ์ ์ผ๋ก ์ด๋ ๋ฌธ์ ๊ฐ ๋์ง ์์ต๋๋ค. ์? ์๋ํ๋ฉด ์ด ๊ฒฝ์ฐ ๋๋ญ๊ฐ์ง์ ๋ํด ์ด์ผ๊ธฐํ ๋ ํน์ง์ด ์๋ ๋๋ญ๊ฐ์ง์ ๋ํด ๋งํ๋ ๊ฒ์ด ์๋๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ธฐ๋ฅ์ ํฌ๊ณ ๋ณต์กํ ์ ์์ต๋๋ค. ์ด๋ ๋ง์ ๊ตฌ์ฑ ์์์ ์ํฅ์ ๋ฏธ์น ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๋ง๋ ์ฐ๋ฆฌ๋ ํ ์ง์ ์์ ๊ทธ๊ฒ๋ค์ ์์ ํ ํ ์ ์์ ๊ฒ์ ๋๋ค. ์ด๊ฑด ๊ด์ฐฎ์. ์ฐ๋ฆฌ๋ ์ด ์ด์ผ๊ธฐ๋ฅผ ๋ถํดํ๋ฉด ๋ฉ๋๋ค. ๊ธฐ๋ฅ์ด ์์ ํ ์ค๋น๋์ง ์์๋ค๊ณ ํด์ ํด๋น ์ฝ๋์ ์ผ๋ถ ๋ถ๋ถ์ ๋ณํฉํ ์ ์๋ค๋ ์๋ฏธ๋ ์๋๋๋ค. ์๋ฅผ ๋ค์ด ๋ง์ด๊ทธ๋ ์ด์ ์ ์ถ๊ฐํ์ผ๋ฉฐ ๊ธฐ๋ฅ ๋ด๋ถ์ ๋ช ๊ฐ์ง ๋จ๊ณ๊ฐ ์์ต๋๋ค. ๋ง์ด๊ทธ๋ ์ด์ ์ ์ํํ๊ณ ์ ๋ฐฉ๋ฒ์ ์ถ๊ฐํ๋ ๋จ๊ณ๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ฏธ ์ด๋ฌํ ๊ฒ๋ค์ ๋งค์ผ ์ธก์ ํ ์ ์์ต๋๋ค.
๊ด์ฐฎ์. ๊ทธ๋ฌ๋ฉด ์์ ์ ๋ฌด์์ ๋๊น?
๋งค์ผ ์์ ๊ฒ๋ค์ ์ฃฝ์ด๋ ๊ฒ ๋ฌด์จ ์๋ฏธ๊ฐ ์๋์?
๋ค.
๋ญ๊ฐ ๊นจ์ง๋ฉด ๋ฐ๋ก ๋ณด์ ๋๋ค. ์์ ์กฐ๊ฐ์ ๋ญ๊ฐ๊ฐ ๋ง๊ฐ์ก์ ๊ฒฝ์ฐ ๊ณ ์น๋ ๊ฒ์ด ๋ ์ฝ์ต๋๋ค. ์์ ์ ์ง๊ธ ์์ ์กฐ๊ฐ์ ๋ณํฉํ๋ ๊ฒ์ด ๋ช ์ฃผ ์์ ํฐ ์กฐ๊ฐ์ ๋ณํฉํ๋ ๊ฒ๋ณด๋ค ํจ์ฌ ์ฝ๋ค๋ ๊ฒ์ ๋๋ค. ์ธ ๋ฒ์งธ ์์ ์ ๋ค๋ฅธ ์์ง๋์ด๋ค์ด ํ์ฌ ๋ฒ์ ์ ์ฝ๋๋ก ์์ ํ ๊ฒ์ด๋ผ๋ ์ ์ ๋๋ค. ๊ทธ๋ค์ ์ฌ๊ธฐ์ ์ผ๋ถ ๋ง์ด๊ทธ๋ ์ด์ ์ด ์ถ๊ฐ๋ ๊ฒ์ ๋ณด๊ฒ ๋ ๊ฒ์ด๋ฉฐ, ๊ทธ๋ค์ด ์ฌ์ฉํ๊ณ ์ถ์ดํ ๋งํ ๋ช ๊ฐ์ง ๋ฐฉ๋ฒ์ด ๋ํ๋ ๊ฒ์ ๋๋ค. ๋ชจ๋ ์ฌ๋์ด ์ฝ๋์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๋์ง ๋ณผ ์ ์์ต๋๋ค. ์ํ์ ์ด ์ธ ๊ฐ์ง๋ฅผ ์ํด์์ ๋๋ค.
๊ฐ์ฌํฉ๋๋ค. ๋ฌธ์ ๊ฐ ์ข ๋ฃ๋์์ต๋๋ค!
(Oleg Soroka) ์ถ๊ฐํด๋ ๋ ๊น์? ๋ชจ๋ ๊ฒ์ด ์ ํํ๊ฒ ๋ง์ํ์ จ๋๋ฐ, ํ ๋ง๋๋ง ์ถ๊ฐํ๊ณ ์ถ์ต๋๋ค.
๊ฒ ์ด์ -
์ง์์ ํตํฉ์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ฅ์ด ์์ ํ ์ค๋น๋ ๋๊ฐ ์๋๋ผ ๋น๋ ์ค๋จ์ด ์ค์ง๋๋ฉด ์ฝ๋๊ฐ ๊ณตํต ๋ถ๊ธฐ๋ก ๋ณํฉ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ํ๋ฃจ์ ์ํ๋ ๋งํผ ์์ ํ๊ฒ ๋ง์คํฐ์ ์ ๋ ํ ์ ์์ต๋๋ค. ๋ ๋ฒ์งธ ์ธก๋ฉด์ ์ด๋ค ์ด์ ๋ก ์๋ณ ์์ ์ ์ต์ XNUMX์ผ ๋์ ์์ ์ผ๋ก ๋๋ ์ ์๊ณ ์ฝ XNUMX์๊ฐ ๋์ ์นจ๋ฌตํ๋ค๋ฉด ํฐ ๋ฌธ์ ๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ง์์ ์ธ ํตํฉ์ด ์๋ค๋ ์ฌ์ค์ ์ด๋ฌํ ๋ฌธ์ ์ค ๊ฐ์ฅ ์ ์ต๋๋ค. ์ด๋ ์ํคํ ์ฒ์ ์์ง๋์ด๋ง ๊ดํ์ ๋ฌธ์ ๊ฐ ์์์ ์๋ฏธํฉ๋๋ค. ์๋ํ๋ฉด ์ด๊ฒ์ด ์ฐ๊ตฌ๋ผ๊ณ ํด๋ ์ด์จ๋ ๊ฐ์ค์ด๋ ์ํ์ ํํ๋ก ๊ณต์ํ๋์ด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค.
์ฐ๋ฆฌ๋ ์ฑ๊ณต์ ์ธ ๊ธฐ์ ๊ณผ ๋ค์ฒ์ง๋ ๊ธฐ์ ์ ๊ตฌ๋ณํ๋ 4๊ฐ์ง ์งํ์ ๋ํด ์ด์ผ๊ธฐํ์ต๋๋ค. ์ด 4๊ฐ์ง ์งํ๋ฅผ ๋ณด๋ ค๋ฉด ์์ง ์ด์๋ด์ผ ํฉ๋๋ค. ํ๊ท ์์ ์ ์๋ฃํ๋ ๋ฐ ํ ๋ฌ์ด ๊ฑธ๋ฆฐ๋ค๋ฉด ๋จผ์ ์ด ์ธก์ ํญ๋ชฉ์ ์ค์ ์ ๋ ๊ฒ์ ๋๋ค. ๋จผ์ 3์ผ๋ก ๋ฎ์ถ๊ฒ ์ต๋๋ค. ๊ทธ ํ ์ ๋ Continuous์ ๋ํด ์๊ฐํ๊ธฐ ์์ํ์ต๋๋ค.
์ด๋ค ์์ ์ ์๋ฃํ๋ ๋ฐ ํ ๋ฌ์ด ๊ฑธ๋ฆฌ๋ฉด ์ผ๋ฐ์ ์ผ๋ก ์์ง๋์ด๋ง ๊ดํ์ ํฌ์ํ ํ์๊ฐ ์๋ค๊ณ ์๊ฐํ๋ค๋ ์ ์ ์ ๊ฐ ์ฌ๋ฐ๋ฅด๊ฒ ์ดํดํ์ต๋๊น?
์ง์์ ์ธ ํตํฉ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ 10๋ถ ์์ ์์ ์ฌํญ์ ์์ ํ๊ฑฐ๋ ๋กค๋ฐฑํ ์ ์๋ค๋ ์ฃผ์ ๊ฐ ์์ต๋๋ค. ๋น์ ์ด ๊ทธ๊ฒ์ ๊ตด๋ ธ๋ค๊ณ ์์ํด๋ณด์ญ์์ค. ๋์ฑ์ด ์ง์์ ์ธ ๋ฐฐํฌ๋ฅผ ์ํํ๊ณ ์ด๋ฅผ ํ๋ก๋์ ์ผ๋ก ๋กค์์ํ ํ์์ผ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์์ ๋ฐ๊ฒฌํ์ต๋๋ค. ๋กค๋ฐฑํด์ผ ํ๋๋ฐ ์ด๋ฏธ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๋ง์ด๊ทธ๋ ์ด์ ํ์ต๋๋ค. ์ด๋ฏธ ๋ค์ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง๊ฐ ์๊ณ , ์ผ์ข ์ ๋ฐฑ์ ๋ ์์๊ณ ๊ฑฐ๊ธฐ์ ๋ฐ์ดํฐ๋ ๊ธฐ๋ก๋์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์ด๋ค ๋์์ด ์๋์? ์ฝ๋๋ฅผ ๋กค๋ฐฑํ๋ฉด ์ ๋ฐ์ดํธ๋ ๋ฐ์ดํฐ๋ฒ ์ด์ค์์ ๋ ์ด์ ์๋ํ์ง ์์ต๋๋ค.
๊ธฐ์ง๋ ์์ผ๋ก๋ง ์์ง์ ๋๋ค.
์์ง๋์ด๋ง ๊ดํ์ด ์ข์ง ์์ ์ฌ๋๋ค์ ์๋ง๋...์ ๊ดํ ๋๊บผ์ด ์ฑ ๋ ์ฝ์ง ์์์ ๊ฒ์ ๋๋ค. ๋ฐฑ์ ์ ์ด๋ป๊ฒ ํด์ผ ํ๋์? ๋ฐฑ์ ์์ ๋ณต์ํ๋ฉด ํด๋น ์๊ฐ์ ์ถ์ ๋ ๋ฐ์ดํฐ๊ฐ ์์ค๋๋ค๋ ์๋ฏธ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ์ฐ๋ฆฌ๋ ์ ๋ฒ์ ์ ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ฌ์ฉ์๊ฐ ๋ฑ๋ก๋ ์์ ์ XNUMX์๊ฐ ๋์ ์์ ํ์ต๋๋ค. ๊ตฌ์ฑํ๊ฐ ์ ๋ฒ์ ์์ ์๋ํ์ง ์๊ธฐ ๋๋ฌธ์ ์ด์ ๋ฐฑ์ ์ ๊ฑฐ๋ถํ์ฌ ์ด๋ฌํ ์ฌ์ฉ์๋ฅผ ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ๋ถ๋ง์กฑ์ค๋ฌ์ํ๋ฉฐ ๋งน์ธํฉ๋๋ค.
์ง์์ ์ธ ํตํฉ๊ณผ ์ง์์ ์ธ ์ ๋ฌ์ ์ง์ํ๋ ๋ค์ํ ๋ฐฉ๋ฒ์ ์ตํ๋ ค๋ฉด ์์ฑ ๋ฐฉ๋ฒ์ ๋ฐฐ์ฐ๋ ๊ฒ๋ง์ผ๋ก๋ ์ถฉ๋ถํ์ง ์์ต๋๋ค.... ์ฒซ์งธ, ๊ทธ๊ฒ๋ค์ด ๋ง์ ์ ์์ผ๋ฉฐ ์ค์ฉ์ ์ด์ง ์์ต๋๋ค. ๊ฒ๋ค๊ฐ Scientific๊ณผ ๊ฐ์ ๋ค๋ฅธ ๊ดํ๋ ๋ง์ด ์์ต๋๋ค. ์ด๋ฐ ๊ดํ์ด ์๋๋ฐ, GitHub๊ฐ ํ๋ ๋์คํํ๊ธฐ๋ ํ์ต๋๋ค. ์ด๋ ์ด์ ์ฝ๋์ ์ ์ฝ๋๊ฐ ๋์์ ์คํ๋๋ ๊ฒฝ์ฐ์ ๋๋ค. ๋ฏธ์์ฑ ๊ธฐ๋ฅ์ ๋ง๋ค์ง๋ง ํจ์ ๋๋ Rest API๋ก ์ผ๋ถ ๊ฐ์ ๋ฐํํ ์ ์๋ ๊ฒฝ์ฐ์ ๋๋ค. ์ ์ฝ๋์ ์ด์ ์ฝ๋๋ฅผ ๋ชจ๋ ์คํํ๊ณ ์ฐจ์ด์ ์ ๋น๊ตํฉ๋๋ค. ์ฐจ์ด๊ฐ ์์ผ๋ฉด ์ด ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋กํฉ๋๋ค. ์ด๋ ๊ฒ ํ๋ฉด ํน์ ์๊ฐ ๋์ ๋ ๊ธฐ๋ฅ ์ฌ์ด์ ๋ถ์ผ์น๊ฐ ์์๋ ๊ฒฝ์ฐ ์ด์ ๊ธฐ๋ฅ ์์ ์๋ก์ด ๊ธฐ๋ฅ์ ์ถ์ํ ์ค๋น๊ฐ ๋์์์ ์ ์ ์์ต๋๋ค.
๊ทธ๋ฌํ ๊ดํ์ ์๋ฐฑ ๊ฐ์ง๊ฐ ์์ต๋๋ค. ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ๋ถํฐ ์์ํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ๊ทธ๋ ๋ ์ง์์ ์ธ ํตํฉ์ 100% ๋ง์กฑํ์ง๋ ์์ง๋ง ๊ดํ์ ๋์ผํ๋ฉฐ ํ๋๊ฐ ์์ผ๋ฉด ์ ์ด ์ ์์ต๋๋ค.
์ฌ๋ก๋ฅผ ๋ณผ ์ ์๋ ์ฌ๋ก๋ก ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ์ ์ ์ํ์ต๋๊น? ์๋๋ฉด ์ฌ๋๋ค์ด ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ์ ์์ํ๋๋ก ์ ์ํ์ต๋๊น?
์ฌ์ฉํด ๋ณด์ธ์. ์ฌ์ฉํ ์ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๊ฒ๋ค์ ์ฌ์ฉํ๋ ค๋ฉด ๋ง์ด ์ฝ์ด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ค ์ฌ๋์ด "ํ ๋ฌ์ด ๊ฑธ๋ฆฌ๋ ๊ธฐ๋ฅ์ ์ด๋ป๊ฒ ํด์ผ ํฉ๋๊น?"๋ผ๊ณ ๋ฌป๋๋ค๋ฉด, ์ด๋ ๊ทธ๊ฐ ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ์ ๋ํด ์ฝ์ง ์์๋ค๋ ๋ป์ ๋๋ค. ์์ง์ ์ถ์ฒํ๊ณ ์ถ์ง ์์ต๋๋ค. ๋๊ท๋ชจ ์์ ์ ๊ตฌ์กฐ์ ์ผ๋ก ์ฌ๋ฐ๋ฅด๊ฒ ์์ ์์ ์ผ๋ก ๋๋๋ ๋ฐฉ๋ฒ์ ๋ํ ์ฃผ์ ์๋ง ์ง์คํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ด๊ฒ์ด ๋ถํด์ ๋ณธ์ง์ด๋ค.
๋ถํด๋ ๊ฑด์ถ๊ฐ์ ๋๊ตฌ ์ค ํ๋์ ๋๋ค. ๋จผ์ ๋ถ์์ ํ ๋ค์ ๋ถํด, ํฉ์ฑ, ํตํฉ์ ์ํํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ด ์ฐ๋ฆฌ์๊ฒ ๋ชจ๋ ์ผ์ด ์ผ์ด๋๋ ๋ฐฉ์์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ์ฌ์ ํ ๋ถํด๋ฅผ ํตํด ์ง์์ ์ธ ํตํฉ์ผ๋ก ์ฑ์ฅํด์ผ ํฉ๋๋ค. ์ฒซ ๋ฒ์งธ ๋จ๊ณ์์ ์ง๋ฌธ์ด ๋ฐ์ํ๋ฉฐ ์ด๋ฏธ ๋ค ๋ฒ์งธ ๋จ๊ณ์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์ต๋๋ค. ์ฆ, ํตํฉ์ ๋ ์์ฃผ ์ํํ ์๋ก ์ข์ต๋๋ค. ์์ง์ ์๊ธฐ์์กฐ์ด๋ฏ๋ก ๋จผ์ ๋ชจ๋ ธ๋ฆฌ์ค๋ฅผ ์๋ผ๋ด๋ ๊ฒ์ด ์ข์ ๊ฒ ๊ฐ์ต๋๋ค.
์ผ๋ถ ๋ค์ด์ด๊ทธ๋จ์๋ ์ฌ๋ฌ ๊ฐ์ ํ์ดํ์ ์ฌ๊ฐํ์ ๊ทธ๋ ค์ผ ํฉ๋๋ค. ์ด์ ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํคํ ์ฒ ๋ค์ด์ด๊ทธ๋จ์ ํ์ํ๊ณ ๊ทธ ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ๋ น์ ๋ฒํผ์ด ์๋ ์ฌ๊ฐํ ํ๋๋ฅผ ํ์ํ ๊ฒ์ด๋ผ๊ณ ๋งํ ์๋ ์์ต๋๋ค. ์ด์จ๋ ๋ ๋ง์ ์ฌ๊ฐํ๊ณผ ํ์ดํ๊ฐ ์์ ๊ฒ์ ๋๋ค. ๋ด๊ฐ ๋ณธ ๋ชจ๋ ๋ค์ด์ด๊ทธ๋จ์๋ ๋ ์ด์์ ๋ค์ด์ด๊ทธ๋จ์ด ์์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ํฝ ํํ ์์ค์์๋ ๋ถํด๊ฐ ์ด๋ฏธ ์งํ๋๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ ์ ์ฌ๊ฐํ์ ๋ ๋ฆฝ๋ ์ ์์ต๋๋ค. ๊ทธ๋ ์ง ์๋ค๋ฉด ๊ฑด์ถ๊ฐ์๊ฒ ํฐ ์ง๋ฌธ์ด ์์ต๋๋ค.
์ฑํ ์์ ๋ค์๊ณผ ๊ฐ์ ์ง๋ฌธ์ด ์์ต๋๋ค. "๋ฆฌ๋ทฐ๊ฐ ํ์์ด๊ณ ์๊ฐ์ด ์ค๋ ๊ฑธ๋ฆฌ๋ฉด ํ๋ฃจ ์ด์ ๊ฑธ๋ฆด ์๋ ์๋์?"
์ฐ์ต์ ๋ฌธ์ ๊ฐ ์์ต๋๋ค. ๊ฒํ ๋ ํ๋ฃจ ์ด์ ์ง์๋์ด์๋ ์ ๋ฉ๋๋ค. ์ด๊ฒ์ ์ด์ ์ง๋ฌธ๊ณผ ๋์ผํ ์ด์ผ๊ธฐ์ด์ง๋ง ์กฐ๊ธ ๋ ๋ถ๋๋ฝ์ต๋๋ค. ๋ฆฌ๋ทฐ๊ฐ ํ๋ฃจ ๋์ ๊ณ์๋๋ค๋ฉด ์ด ๋ฆฌ๋ทฐ๋ ๋งค์ฐ ํฐ ๋ณํ๋ฅผ ๊ฐ์ ธ์ฌ ๊ฐ๋ฅ์ฑ์ด ๋์ต๋๋ค. ์ฆ, ํฌ๊ธฐ๋ฅผ ๋ ์๊ฒ ๋ง๋ค์ด์ผ ํ๋ค๋ ๋ป์ ๋๋ค. ์ฌ๋ ์ด ์ถ์ฒํ ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ์๋ ์ง์์ ๊ฒํ ๋ผ๋ ์ด์ผ๊ธฐ๊ฐ ์๋ค. ๊ทธ๋ ์ ์๊ฐ์ ์ฐ๋ฆฌ๊ฐ ์ง์์ ์ผ๋ก ํ ๋ฒ์ ์กฐ๊ธ์ฉ ๋ณํฉํ๋ ค๊ณ ๋ ธ๋ ฅํ๊ธฐ ๋๋ฌธ์ ์๋์ ์ผ๋ก ์ด๋ ๊ฒ ์์ ํ ์์ฒญ์ ํ๋ค๋ ๊ฒ์ ๋๋ค. ๋ฐ๋ผ์ ํ ์์ฒญ์ ํ๋์ ์ถ์ํ ๋๋ 10์ค์ ๋ณ๊ฒฝํฉ๋๋ค. ์ด ๊ฒํ ๋๋ถ์ ๋ช ๋ถ ์ ๋ ์์๋์์ต๋๋ค.
๊ฒํ ์ ํ๋ฃจ ์ด์์ด ์์๋๋ค๋ฉด ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ๋๋ค. ์ฒซ์งธ, ์ํคํ ์ฒ์ ๋ช ๊ฐ์ง ๋ฌธ์ ๊ฐ ์์ ์ ์์ต๋๋ค. ๋๋ ์๋ฅผ ๋ค์ด 1์ค์ ๋ฌํ๋ ํฐ ์ฝ๋ ์กฐ๊ฐ์ ๋๋ค. ๋๋ ์ํคํ ์ฒ๊ฐ ๋๋ฌด ๋ณต์กํด์ ์ฌ๋์ด ์ดํดํ ์ ์๋ ๊ฒฝ์ฐ๋ ์์ต๋๋ค. ์ด๊ฒ์ ์ฝ๊ฐ ์์ผ๋ก ์น๋ซ๋ ๋ฌธ์ ์ด์ง๋ง ํด๊ฒฐํด์ผ ํ ๋ฌธ์ ์ด๊ธฐ๋ ํฉ๋๋ค. ์๋ง๋ ๋ฆฌ๋ทฐ๊ฐ ์ ํ ํ์ํ์ง ์์ ๊ฒ์ ๋๋ค. ์ฐ๋ฆฌ๋ ์ด๊ฒ์ ๋ํด ์๊ฐํด ๋ณผ ํ์๊ฐ ์์ต๋๋ค. ๊ฒํ ๋ ์๋๋ฅผ ๋ฆ์ถ๋ ๊ฒ์ ๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ์ฅ์ ์ด ์์ง๋ง ์ ๊ทธ๋ ๊ฒ ํ๋์ง ์ดํดํด์ผ ํฉ๋๋ค. ์ ๋ณด๋ฅผ ๋น ๋ฅด๊ฒ ์ ๋ฌํ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ธ๊ฐ์, ๋ด๋ถ์ ์ผ๋ก ๊ธฐ์ค์ ์ธ์ฐ๊ธฐ ์ํ ๋ฐฉ๋ฒ์ธ๊ฐ์? ์ ์ด๊ฒ์ด ํ์ํฉ๋๊น? ๊ฒํ ๋ฅผ ๋งค์ฐ ์ ์ํ๊ฒ ์๋ฃํ๊ฑฐ๋ ์์ ํ ์ทจ์ํด์ผ ํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๊ทธ๊ฒ์ ํธ๋์ค๋ฒ ์ด์ค ๊ฐ๋ฐ๊ณผ ๊ฐ์ต๋๋ค. ์ด์ผ๊ธฐ๋ ๋งค์ฐ ์๋ฆ๋ต์ง๋ง ์ฑ์ํ ๋จ์ฑ์๊ฒ๋ง ํด๋น๋ฉ๋๋ค.
4๊ฐ์ง ์งํ์ ๊ด๋ จํ์ฌ ์ด๊ฒ์ด ์ด๋ค ๊ฒฐ๊ณผ๋ฅผ ๊ฐ์ ธ์ค๋์ง ์ดํดํ๊ธฐ ์ํด ์ด๋ฅผ ์ ๊ฑฐํ๋ ๊ฒ์ด ์ข์ต๋๋ค. ์ซ์๋ฅผ ๋ณด๊ณ , ์ฌ์ง์ ๋ณด๊ณ , ๋ชจ๋ ๊ฒ์ด ์ผ๋ง๋ ๋์์ง ๋ณด์ญ์์ค.
(Dmitry) ์ ๋ ์ด์ ๋ํด ๊ทํ์ ๋ ผ์ํ ์ค๋น๊ฐ ๋์ด ์์ต๋๋ค. ์ซ์์ ์งํ๋ ๋ชจ๋ ํ๋ฅญํ๊ณ ์ค์ฒ๋ ํ๋ฅญํฉ๋๋ค. ํ์ง๋ง ๋น์ฆ๋์ค์ ํ์ํ์ง ์ฌ๋ถ๋ฅผ ์ดํดํด์ผ ํฉ๋๋ค. ๊ทธ๋ฐ ๋ณํ์ ์๋๊ฐ ํ์ํ์ง ์์ ๊ธฐ์ ์ด ์์ต๋๋ค. ๋๋ 15๋ถ๋ง๋ค ๋ณํ๊ฐ ์ด๋ฃจ์ด์ง ์ ์๋ ํ์ฌ๋ฅผ ์๊ณ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ด ๋๋ฌด ๋์๊ธฐ ๋๋ฌธ์ด ์๋๋๋ค. ์ด๊ฒ์ ๊ทธ๋ฌํ ์๋ช ์ฃผ๊ธฐ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ธ๋์น ๊ธฐ๋ฅ, ํ ๊ธ ๊ธฐ๋ฅ์ ๋ง๋ค๊ธฐ ์ํด์๋ ๊น์ ์ง์์ด ํ์ํฉ๋๋ค.
๋ณต์กํด์. ํ ๊ธ ๊ธฐ๋ฅ์ ๋ํ ์ด์ผ๊ธฐ๋ฅผ ๋ ์์ธํ ์ฝ๊ณ ์ถ๋ค๋ฉด ์ ๊ทน ์ถ์ฒํฉ๋๋ค
๊ทธ๋ฆฌ๊ณ ๋น์ ์ "Jenkins๊ฐ ํ์ํ๊ฐ, ํ์ํ์ง ์์๊ฐ?"๋ผ๋ ์ง๋ฌธ์ ์์ง ๋๋ตํ์ง ์์์ต๋๋ค.
Jenkins๋ ์ค์ ๋ก ์ด๋ค ๊ฒฝ์ฐ์๋ ํ์ํ์ง ์์ต๋๋ค. ํ์ง๋ง Jenkins, Gitlab๊ณผ ๊ฐ์ ๋๊ตฌ๋ ์ฌ๋ฌ๋ถ์๊ฒ ํธ๋ฆฌํจ์ ๊ฐ์ ธ๋ค ์ค ๊ฒ์ ๋๋ค. ์ด์ ๋ธ๋ฆฌ๊ฐ ์กฐ๋ฆฝ๋์๋์ง ๋๋ ์กฐ๋ฆฝ๋์ง ์์๋์ง ํ์ธํ ์ ์์ต๋๋ค. ๊ทธ๋ค์ ๋น์ ์ ๋์ธ ์๋ ์์ง๋ง ์ฐ์ต์ ์ ๊ณตํ์ง๋ ์์ต๋๋ค. ๊ทธ๋ค์ ๋น์ ์๊ฒ ์ํด๋ง ์ ๊ณตํ ์ ์์ต๋๋ค - ์์์ด, ์์์ด๊ฐ ์๋์ผ. ๊ทธ๋ฐ ๋ค์ ํ ์คํธ๋ ์์ฑํ๋ฉด ํ ์คํธ๊ฐ ์์ผ๋ฉด ๊ฑฐ์ ์๋ฏธ๊ฐ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ๋ ํธ๋ฆฌํ๊ธฐ ๋๋ฌธ์ ํ์ํ์ง๋ง ์ผ๋ฐ์ ์ผ๋ก ๊ทธ๊ฒ ์์ด๋ ์ด ์ ์์ผ๋ฉฐ ๋ง์ด ์์ง ์์ ๊ฒ์ ๋๋ค.
์ฆ, ์ค์ฒ์ด ์๋ค๋ฉด ๊ทธ๊ฒ์ด ํ์ํ์ง ์๋ค๋ ๋ป์ธ๊ฐ์?
์ข์์. Jez Humble ํ ์คํธ๋ฅผ ์ถ์ฒํฉ๋๋ค. ๋๋ ๋ง์ง๋ง ์์ ์ ๋ํด ์๋ฉด์ ์ธ ํ๋๋ฅผ ๊ฐ์ง๊ณ ์์ต๋๋ค. ๊ทธ๋ฌ๋ ์ผ๋ฐ์ ์ผ๋ก ์ธ ๊ฐ์ง๊ฐ ์๋ค๋ฉด ์ง์์ ์ผ๋ก ๋ณํฉํ๊ณ , ๋ง์คํฐ์์ ์ปค๋ฐ์ ๋ํด ํ ์คํธ๋ฅผ ์คํํ๊ณ , ๋ง์คํฐ์์ ๋น๋๋ฅผ ๋น ๋ฅด๊ฒ ์์ ํ๋ฉด ์๋ง๋ ๋ค๋ฅธ ๊ฒ์ด ํ์ํ์ง ์์ ๊ฒ์ ๋๋ค.
์ฐธ๊ฐ์๋ถ๋ค์ ์ง๋ฌธ์ ๊ธฐ๋ค๋ฆฌ๋ค๊ฐ ์ง๋ฌธ์ด ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ๋ฐฉ๊ธ ์ ํ ์ฝ๋์ ๋ํด ์ด์ผ๊ธฐํ๊ณ ์์์ต๋๋ค. ์ธํ๋ผ ์ฝ๋์ ์ฌ์ฉํด ๋ณด์ จ๋์? ๋์ผํ ์ฝ๋์ ๋๊น, ๋์ผํ ์์น๊ณผ ๋์ผํ ๋ผ์ดํ์ฌ์ดํด์ ๊ฐ์ง๊ณ ์์ต๋๊น, ์๋๋ฉด ๋ค๋ฅธ ๋ผ์ดํ์ฌ์ดํด๊ณผ ์์น์ด ์์ต๋๊น? ์ผ๋ฐ์ ์ผ๋ก ๋ชจ๋ ์ฌ๋์ด ์ง์์ ์ธ ํตํฉ ๋ฐ ๊ฐ๋ฐ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ์ธํ๋ผ ์ฝ๋๋ ์๋ค๋ ์ฌ์ค์ ๋ชจ๋๊ฐ ์์ด๋ฒ๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ต๊ทผ์๋ ๊ทธ๋ฐ ์ผ์ด ์ ์ ๋ ๋ง์์ก์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๋ชจ๋ ๊ท์น์ ๊ฑฐ๊ธฐ๊น์ง ๊ฐ์ ธ์์ผ ํ ๊น์?
๊ผญ ๊ทธ๋์ผ ํ๋ ๊ฒ์ ์๋์ง๋ง, ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ถ์ ๋ ์ฝ๊ฒ ๋ง๋ค์ด ์ฃผ๊ธฐ ๋๋ฌธ์ ์ข์ ๊ฒ์ ๋๋ค. bash ์คํฌ๋ฆฝํธ๊ฐ ์๋ ์ฝ๋๋ก ์์ ํ์๋ง์ ์ผ๋ฐ ์ฝ๋๊ฐ ์์ต๋๋ค.
์ค์ง, ์ค์ง, bash ์คํฌ๋ฆฝํธ๋ ์ฝ๋์ ๋๋ค. ๋ด ์ ์ฌ๋์ ๊ฑด๋๋ฆฌ์ง ๋ง์ธ์.
์์์ด, ๋ค ๊ธฐ์ต์ ์ง๋ฐ์ง ์์๊ฒ. ๋๋ bash๋ฅผ ๊ฐ์ธ์ ์ผ๋ก ์ซ์ดํฉ๋๋ค. ํญ์ ์ถ์ ํ๊ณ ๋ฌด์ญ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์์ธกํ ์ ์์ด ๊นจ์ง๋ ๊ฒฝ์ฐ๊ฐ ๋ง๊ธฐ ๋๋ฌธ์ ๋ง์์ ๋ค์ง ์์ต๋๋ค. ํ์ง๋ง ์ข์ต๋๋ค. bash ์ฝ๋๊ฐ ์๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ์๋ง๋ ์ ๊ฐ ์ ๋ง ์ดํดํ์ง ๋ชปํ๋ ๊ฒ์ผ ์๋ ์๊ณ ๊ฑฐ๊ธฐ์๋ ์ผ๋ฐ์ ์ธ ํ ์คํธ ํ๋ ์์ํฌ๊ฐ ์์ ์๋ ์์ต๋๋ค. ๋๋ ๋จ์ง ๋ชจ๋ฅธ๋ค. ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ ๋์ผํ ์ด์ ์ ์ป์ต๋๋ค.
์ฝ๋ํ ์ธํ๋ผ๋ก ์์ ํ์๋ง์ ๊ฐ๋ฐ์์ ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ๋ช ๋ฌ ์ , ๋๋ฃ๊ฐ ๋์๊ฒ bash์์ 1์ค์ ๋ํ ํ ์์ฒญ์ ๋ณด๋ธ ์ํฉ์ ์ง๋ฉดํ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ 000์๊ฐ ๋์ ๋ฆฌ๋ทฐ์ ์๊ฐ์ ๋ณด๋ ๋๋ค. ๋์ผํ ๋ฌธ์ ๊ฐ ๋ฐ์ํฉ๋๋ค. ์์ง์ ์ฝ๋์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ์ฌ์ ํ โโโโํ๋ ฅ์ ๋๋ค. ์๋ฅผ ๋ค์ด, ํ ์์ฒญ์ ๊ฐํ๊ณ ๋์ผํ bash์์ ๋์ผํ ๋ณํฉ ์ถฉ๋์ ํด๊ฒฐํ๊ณ ์๋ค๋ ์ฌ์ค์ ๊ฐํ๊ฒ ๋ฉ๋๋ค.
๋๋ ์ง๊ธ ๊ฐ์ฅ ์๋ฆ๋ค์ด ์ธํ๋ผ ํ๋ก๊ทธ๋๋ฐ์ ๊ดํ ์ด ๋ชจ๋ ๊ฒ์ ๋งค์ฐ ์ ๊ทน์ ์ผ๋ก ์ดํด๋ณด๊ณ ์์ต๋๋ค. ์ด์ Pulumi๋ฅผ ์ธํ๋ผ์ ๋์ ํ์ต๋๋ค. ์ด๊ฒ์ ๊ฐ์ฅ ์์ํ ํํ์ ํ๋ก๊ทธ๋๋ฐ์ ๋๋ค. ํ๋ก๊ทธ๋๋ฐ ์ธ์ด์ ๋ชจ๋ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์๊ธฐ ๋๋ฌธ์ ํจ์ฌ ๋ ์ข์ต๋๋ค. ์ฆ, ๋์ผํ if๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ์๊ธฐ ์๋ฆ๋ค์ด ํ ๊ธ์ ๋ง๋ค์๊ณ ๋ชจ๋ ๊ฒ์ด ์ ์์ ๋๋ค. ์ฆ, ๋ด ๋ณ๊ฒฝ ์ฌํญ์ด ์ด๋ฏธ ๋ง์คํฐ์ ์์ต๋๋ค. ๋๊ตฌ๋ ์ด๋ฏธ ๊ทธ๋ฅผ ๋ณผ ์ ์์ต๋๋ค. ๋ค๋ฅธ ์์ง๋์ด๋ค๋ ์๊ณ ์์ต๋๋ค. ์ด๋ฏธ ๊ฑฐ๊ธฐ์ ๋ญ๊ฐ ์ํฅ์ ๋ฏธ์ณค์ต๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ์ธํ๋ผ์ ๋ํด ํ์ฑํ๋์ง๋ ์์์ต๋๋ค. ์๋ฅผ ๋ค์ด ๋ด ํ ์คํธ ๋ฒค์น์์๋ ์ผ์ก์ต๋๋ค. ๋ฐ๋ผ์ ๊ทํ์ ์ง๋ฌธ์ ๋ค์ ๋ต๋ณํ๋ ๊ฒ์ด ํ์ํฉ๋๋ค. ๊ฐ์ ๋ฐฉ์์ผ๋ก ์ฝ๋๋ฅผ ์์ ํ๋ ์์ง๋์ด๋ก์ ์ฐ๋ฆฌ์ ์ถ์ด ๋ ์ฌ์์ง๋๋ค.
๋ค๋ฅธ ์ฌ๋์ด ์ง๋ฌธ์ด ์๋ค๋ฉด?
์ง๋ฌธ์ด ์์ต๋๋ค. ๋๋ Oleg์ ํ ๋ก ์ ๊ณ์ํ๊ณ ์ถ์ต๋๋ค. ์ผ๋ฐ์ ์ผ๋ก ๋๋ ๋น์ ์ด ์ณ๋ค๊ณ ์๊ฐํฉ๋๋ค. ์์ ์ ์๋ฃํ๋ ๋ฐ ํ ๋ฌ์ด ๊ฑธ๋ฆฌ๋ฉด ์ํคํ ์ฒ์ ๋ฌธ์ ๊ฐ ์๊ณ ๋ถ์, ๋ถํด, ๊ณํ ๋ฑ์ ๋ฌธ์ ๊ฐ ์๋ ๊ฒ์ ๋๋ค. ์ง์์ ์ธ ํตํฉ์ ๋ฐ๋ผ ๋ผ์ด๋ธ๋ฅผ ์๋ํ๋ฉด ๋ค๋ฅธ ๊ณณ์์๋ ๋ฒ์ด๋ ์ ์๊ธฐ ๋๋ฌธ์ ๊ณํ์ ํตํด ๊ณ ํต์ ๋ฐ๋ก์ก๊ธฐ ์์ํ ๊ฒ์ ๋๋ค.
(์ฌ๋ ) ๋ค, ๋ง์ต๋๋ค. ์ด ๊ดํ์ ๋ฌธํ๋ฅผ ๋ฐ๊พธ๋ ๋ค๋ฅธ ์ฌ๊ฐํ ๊ดํ๊ณผ ๋ ธ๋ ฅ ๋ฉด์์ ๋น์ทํฉ๋๋ค. ๊ฐ์ฅ ๊ทน๋ณตํ๊ธฐ ์ด๋ ค์ด ๊ฒ์ ์ต๊ด, ํนํ ๋์ ์ต๊ด์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด ๊ดํ์ ๊ตฌํํ๋ ค๋ฉด ๊ฐ๋ฐ์, ๊ฒฝ์์ง, ์์ฐ ๊ด๋ฆฌ์ ๋ฑ ์ฃผ๋ณ ์ฌ๋๋ค์ ์ต๊ด์ ์ฌ๊ฐํ ๋ณํ๊ฐ ํ์ํ๋ฉฐ ๋๋ผ์์ด ์ฌ๋ฌ๋ถ์ ๊ธฐ๋ค๋ฆฝ๋๋ค.
์ด๋ค ๋๋ผ์์ด ์์ ์ ์์๊น์? ๋ ์์ฃผ ํตํฉํ๊ธฐ๋ก ๊ฒฐ์ ํ๋ค๊ณ ๊ฐ์ ํด ๋ณด๊ฒ ์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ํตํฉ๊ณผ ๊ด๋ จ๋ ๋ค๋ฅธ ๊ฒ(์: ์ํฐํฉํธ)๋ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด, ๊ทํ์ ํ์ฌ์๋ ๋ชจ๋ ์ํฐํฉํธ๊ฐ ์ผ์ข ์ ์ํฐํฉํธ ์ ์ฅ ์์คํ ์์ ์ด๋ค ๋ฐฉ์์ผ๋ก๋ ์ค๋ช ๋์ด์ผ ํ๋ค๋ ์ ์ฑ ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์๊ฐ์ด ์ข ๊ฑธ๋ฆฝ๋๋ค. ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ์๋ก์ ์ด ์ํฐํฉํธ๋ฅผ ํ ์คํธํ์ฌ ํ๋ก๋์ ํ๊ฒฝ์์ ๋ฆด๋ฆฌ์คํ ์ค๋น๊ฐ ๋์๋์ง ํ์ธํ๋ ํ์ธ๋์ ์ ํํด์ผ ํฉ๋๋ค. 5~10~15๋ถ์ด ์์๋์ง๋ง ์ผ์ฃผ์ผ์ ํ ๋ฒ ๋ ์ด์์์ ์ํํ๋ค๋ฉด ์ผ์ฃผ์ผ์ ํ ๋ฒ XNUMX๋ถ์ ์๋นํ๋ ๊ฒ์ ์์ ์ธ๊ธ์ ๋๋ค.
์ง์์ ํตํฉ์ ํ๋ฃจ์ 10๋ฒ ์ํํ๋ค๋ฉด 10๋ฒ์ 30๋ถ์ ๊ณฑํด์ผ ํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๋ ์ด ๋ฆด๋ฆฌ์ค ๊ด๋ฆฌ์์ ์์ ์๊ฐ์ ์ด๊ณผํฉ๋๋ค. ๊ทธ๋ ๋จ์ง ๊ทธ ์ผ์ ํ๋ ๊ฒ์ ์ง์ณค์ ๋ฟ์ ๋๋ค. ์ผ๋ถ ๊ดํ์๋ ๊ณ ์ ๋น์ฉ์ด ์์ต๋๋ค. ๊ทธ๊ฒ ๋ค์ผ.
๊ทธ๋ฆฌ๊ณ ๋ ์ด์ ๊ทธ๋ฐ ์ฐ๋ ๊ธฐ๋ฅผ ๋ง๋ค์ง ์๋๋ก ์ด ๊ท์น์ ์ทจ์ํด์ผ ํฉ๋๋ค. ์ฆ, ๋ฌด์ธ๊ฐ์ ํด๋นํ๋ ํ์๋ฅผ ์๋์ผ๋ก ํ ๋นํ์ง ์์ต๋๋ค. ์๋ํ๋ ์ค๋น ์ํ ํ ์คํธ ์ธํธ์ ์ ์ ์ผ๋ก ์์กดํ๊ณ ์์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ์์ฌ๊ฐ ์๋ช ํ๊ธฐ ์ํด ๋๊ตฐ๊ฐ์ ์ฆ๊ฑฐ๊ฐ ํ์ํ ๊ฒฝ์ฐ Vasya๊ฐ ํ์ฉํ๋ค๊ณ ๋งํ์ง ์๊ณ ๋ ์์ฐ์ ๋ค์ด๊ฐ ์ ์์ต๋๋ค. ์ด ๋ชจ๋ ๋ง๋ ์๋๋ ์๋ฆฌ๋ ์ค๋ฌด์๋ฅผ ๋ฐฉํดํฉ๋๋ค. ์๋ํ๋ฉด ์ธ๊ธ๊ณผ ๊ด๋ จ๋ ํ๋์ด ์์ผ๋ฉด ๋ชจ๋ ๊ฒ์ด 100๋ฐฐ ์ฆ๊ฐํ๊ธฐ ๋๋ฌธ์ ๋๋ค. ๋ฐ๋ผ์ ์ด๋ฌํ ๋ณํ๋ ๋ชจ๋ ์ฌ๋์ด ๊ธฐ์จ์ผ๋ก ํ์ํ์ง ์๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค. ์ฌ๋์ ์ต๊ด์ ๋ฐ๊พธ๊ธฐ ์ด๋ ต๊ธฐ ๋๋ฌธ์ด์ฃ .
์ฌ๋์ด ์ผ์์ ์ธ ์ผ์ ํ ๋, ๊ทธ๋ ๊ฑฐ์ ์๋ฌด ์๊ฐ ์์ด ๊ทธ ์ผ์ ํฉ๋๋ค. ๊ทธ๋ ์ ์ธ์ง๋ถํ๋ XNUMX์ ๋๋ค. ๊ทธ๋ ๋จ์ง ๊ทธ๊ฒ์ ๊ฐ์ง๊ณ ๋๊ณ ์๊ณ , ์ด๋ฏธ ๊ทธ์ ๋จธ๋ฆฌ ์์ ์ฒดํฌ๋ฆฌ์คํธ๊ฐ ์๊ณ , ๊ทธ ์ผ์ ์์ฒ ๋ฒ์ด๋ ํด๋์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋น์ ์ด ๊ทธ์๊ฒ ์์ โ์ด ์ฐ์ต์ ์ทจ์ํ๊ณ ์์์ผ๋ถํฐ ์๋ก์ด ์ฐ์ต์ ์์ํ์โ๋ผ๊ณ ๋งํ๋ฉด ๊ทธ์๊ฒ ๊ทธ๊ฒ์ ๊ฐ๋ ฅํ ์ธ์ง ๋ถํ๊ฐ โโ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๊ฒ์ ๋ชจ๋ ์ฌ๋์๊ฒ ๋์์ ๋ค๊ฐ์ต๋๋ค.
๋ฐ๋ผ์ ๊ฐ์ฅ ๊ฐ๋จํ ๊ฒ์ ๋ชจ๋ ์ฌ๋์ด์ด ์ฌ์น๋ฅผ ๊ฐ๋นํ ์๋ ์์ง๋ง ์ด๊ฒ์ด ์ ๊ฐ ํญ์ํ๋ ์ผ์ด๋ฉฐ ๋ค์์ ๋ค์๊ณผ ๊ฐ์ต๋๋ค. ์ ํ๋ก์ ํธ๊ฐ ์์๋๋ฉด ์ผ๋ฐ์ ์ผ๋ก ํ ์คํธ๋์ง ์์ ๋ชจ๋ ์ฌ๋ก๊ฐ ์ฆ์ ์ด ํ๋ก์ ํธ์ ์ฑ์์ง๋๋ค. ํ๋ก์ ํธ๊ฐ ์ด๊ธฐ ๋จ๊ณ์ด๊ธด ํ์ง๋ง ์ค์ ๋ก ์ํ์ ๊ฐ์ํ์ง๋ ์์ต๋๋ค. ์์ง Prod๋ ์๊ณ ํ๊ดดํ ๊ฒ๋ ์์ต๋๋ค. ๋ฐ๋ผ์ ํ๋ จ์ฉ์ผ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค. ์ด ์ ๊ทผ ๋ฐฉ์์ ํจ๊ณผ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ ๋ชจ๋ ํ์ฌ๊ฐ ๊ทธ๋ฌํ ํ๋ก์ ํธ๋ฅผ ์์ฃผ ์์ํ ๊ธฐํ๋ฅผ ๊ฐ๋ ๊ฒ์ ์๋๋๋ค. ์ด๊ฒ๋ ์กฐ๊ธ ์ด์ํ์ง๋ง ์ด์ ์์ ํ ๋์งํธ ํ์ ์ด ์ด๋ฃจ์ด์ก๊ธฐ ๋๋ฌธ์ ๋ชจ๋๊ฐ ๊ฒฝ์์ฌ๋ฅผ ๋ฐ๋ผ์ก๊ธฐ ์ํด ์คํ์ ์์ํด์ผ ํฉ๋๋ค.
์ฌ๊ธฐ์ ๋น์ ์ ๋จผ์ ๋ฌด์์ ํด์ผ ํ๋์ง ์ดํดํด์ผ ํ๋ค๋ ๊ฒฐ๋ก ์ ๋๋ฌํฉ๋๋ค. ์ธ์์ ์ด์์ ์ด์ง ์์ผ๋ฉฐ ์๊ทน๋ ์ด์์ ์ด์ง ์์ต๋๋ค.
์, ์ด๋ฌํ ๊ฒ๋ค์ ์๋ก ์ฐ๊ฒฐ๋์ด ์์ต๋๋ค.
๊ธฐ์ ์ ๋ํ ์ด๋ฐ ์์ผ๋ก ๊ฐ์ผ ํ๋ค๋ ๊ฒ์ ํญ์ ์ดํดํ๋ ๊ฒ์ ์๋๋๋ค.
์ ํ ๋ณํ๊ฐ ๋ถ๊ฐ๋ฅํ ์ํฉ์ด ๋ฐ์ํฉ๋๋ค. ํ์ ๋ถ๋ด์ด ๋ ์ปค์ง ์ํฉ์ด๋ค. ํ์ ์ด๋ฏธ ์ง์ณ์์ต๋๋ค. ๊ทธ๋ ๋ ์ด๋ค ์คํ์๋ ์ฌ๊ฐ ์๊ฐ์ด ์์ต๋๋ค. ๊ทธ๋ค์ ์์นจ๋ถํฐ ์ ๋ ๊น์ง ๊ธฐ๋ฅ์ ์ฐ๊ตฌํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ์ ์ ๋ ์ ์ด์ง๊ณ ์์ต๋๋ค. ์ ์ ๋ ๋ง์ ๊ฒ์ด ํ์ํฉ๋๋ค. ์ด๋ฐ ์ํฉ์์๋ ์ ํ ๋ณํ๊ฐ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ํ์์๋ ๋ด์ผ๋ ์ด์ ์ ๋๊ฐ์ด ํ ๊ฒ์ด๋ฉฐ ๊ธฐ๋ฅ์ ์กฐ๊ธ ๋ ๋ง๋ค๋ฉด ๋๋ค๋ ๋ง๋ง ๋ค์์ต๋๋ค. ์ด๋ฌํ ์๋ฏธ์์ ์ด๋ค ๊ดํ์ผ๋ก์ ์ ํ๋ ๋ถ๊ฐ๋ฅํฉ๋๋ค. ๋๋ผ๋ฅผ ๊ฐ ์๊ฐ์ด ์์ด์ ๋๋ฌด๋ฅผ ์๋ผ์ผํด์ ๋ฌด๋ ๋๋ผ๋ก ์๋ฅด๋ ์ ํ์ ์ธ ์ํฉ์ ๋๋ค. ์ฌ๊ธฐ์๋ ๊ฐ๋จํ ํ์ด ์์ต๋๋ค.
(Dmitry) ์ฑํ ์์ ์ค๋ช ์ ์ฝ์ด๋ณด๊ฒ ์ต๋๋ค. โํ์ง๋ง ์ฐ๋ฆฌ๋ ๋ค์ํ ์์ค์์ ๋ง์ ํ ์คํธ ๋ฒ์๊ฐ ํ์ํฉ๋๋ค. ํ ์คํธ์ ์ผ๋ง๋ ๋ง์ ์๊ฐ์ด ํ ๋น๋๋์? ๊ฐ๊ฒฉ๋ ์กฐ๊ธ ๋น์ธ๊ณ ์๊ฐ๋ ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค.โ
(Oleg) ์ด๊ฒ์ ๊ณ ์ ์ ์ธ ์คํด์ ๋๋ค. ์์ ๊ฐ์ ๊ฐ์ง๋ ค๋ฉด ์ถฉ๋ถํ ํ ์คํธ๊ฐ ์์ด์ผ ํฉ๋๋ค. ์ง์์ ์ธ ํตํฉ์ ๋จผ์ 100% ํ ์คํธ๊ฐ ์๋ฃ๋ ๋ค์์๋ง ์ด ๋ฐฉ๋ฒ์ ์ ์ฉํ๊ธฐ ์์ํ๋ ๊ฒ์ด ์๋๋๋ค. ์ง์์ ์ธ ํตํฉ์ ๋์ผ๋ก ๋ณด๋ ๊ฐ๊ฐ์ ๋ณํ๊ฐ ํ ์คํธ ์์ด๋ ๊ทธ๊ฒ์ด ๋ฌด์์ธ๊ฐ ๊นจ์ง์ง ์๋์ง ์ดํดํ ์ ์์ ์ ๋๋ก ๋ช ๋ฐฑํ๊ธฐ ๋๋ฌธ์ ์ธ์ง ๋ถํ๋ฅผ ์ค์ฌ์ค๋๋ค. ๋ณ๊ฒฝ ์ฌํญ์ด ์ ๊ธฐ ๋๋ฌธ์ ๋จธ๋ฆฌ ์์ผ๋ก ๋น ๋ฅด๊ฒ ํ ์คํธํ ์ ์์ต๋๋ค. ์๋ ํ ์คํฐ๋ง ์์ด๋ ๋ ์ฝ์ต๋๋ค. ๋น์ ์ ๋ฐ์ผ๋ก ๋๊ฐ์ ์ด๋ ๊ฒ ๋งํ์ต๋๋ค. "๋ณด์ธ์. ๊นจ์ง ๊ฒ์ด ์๋์?" ํ์ธํด๋ณด๋ โ์๋จ, ๊นจ์ง ๊ฒ์ ํ๋๋ ์์ต๋๋ค.โ๋ผ๊ณ ํ๋๊ตฐ์. ํ ์คํฐ๋ ์ด๋๋ฅผ ๋ด์ผ ํ ์ง ์๊ณ ์๊ธฐ ๋๋ฌธ์ ๋๋ค. ํ๋์ ์ฝ๋์ ์ฐ๊ด๋ ํ๋์ ์ปค๋ฐ์ด ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ์ ํน์ ํ๋์ ์ํด ์ ์ฉ๋ฉ๋๋ค.
๋ฌผ๋ก ์ฌ๊ธฐ ๋น์ ์ ์ฅ์๋์์ต๋๋ค.
(๋๋ฏธํธ๋ฆฌ) ๋๋ ์ฌ๊ธฐ์ ๋์ํ์ง ์์ต๋๋ค. ์ด๋ฌํ ์ํฉ์ ๋ฐฉ์งํ ์ ์๋ ํ ์คํธ ์ค์ฌ ๊ฐ๋ฐ ๋ฐฉ๋ฒ์ด ์์ต๋๋ค.
(์ฌ๋ ) ๊ธ์์, ์์ง ๊ทธ ์ง์ ๊น์ง๋ ๋๋ฌํ์ง ๋ชปํ์ต๋๋ค. ์ฒซ ๋ฒ์งธ ํ์์ ํ ์คํธ๋ฅผ 100% ์์ฑํด์ผ ํ๊ฑฐ๋ ์ง์์ ํตํฉ์ ์ ํ ์ํํ ํ์๊ฐ ์๋ค๋ ๊ฒ์ ๋๋ค. ์ฌ์ค์ด ์๋๋๋ค. ์ด๋ ๋ ๊ฐ์ง ๋ณ๋ ฌ ๊ดํ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ค์ ์ง์ ์ ์ผ๋ก ์์กดํ์ง ์์ต๋๋ค. ํ ์คํธ ๋ฒ์๋ ์ต์ ์ด์ด์ผ ํฉ๋๋ค. ์ต์ - ์ด๋ ์ปค๋ฐ ํ ๋ง์คํฐ๊ฐ ๋จ์ ์๋ ๋ง์คํฐ์ ํ์ง๋ก ์ธํด ๊ธ์์ผ ์ ๋ ์ ์ ์ทจํ "๋ฐฐํฌ" ๋ฒํผ์ ์์ ์๊ฒ ๋๋ฅผ ์ ์๋ค๋ ๊ฒ์ ์๋ฏธํฉ๋๋ค. ์ด๊ฒ์ ์ด๋ป๊ฒ ๋ฌ์ฑํฉ๋๊น? ๊ฒํ ๋ฅผ ํตํด, ์ทจ์ฌ๋ฅผ ํตํด, ์ข์ ๋ชจ๋ํฐ๋ง์ ํตํด.
์ข์ ๋ชจ๋ํฐ๋ง์ ํ ์คํธ์ ๊ตฌ๋ณํ ์ ์์ต๋๋ค. ์ฌ์ ํ๋ก๋์ ์์ ํ ์คํธ๋ฅผ ํ ๋ฒ ์คํํ๋ฉด ๋ชจ๋ ์ฌ์ฉ์ ์คํฌ๋ฆฝํธ๋ฅผ ํ ๋ฒ๋ง ํ์ธํ๋ฉด ๋์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ฌดํ ๋ฃจํ์์ ์คํํ๋ ๊ฒฝ์ฐ ์ด๋ ์ถฉ๋ ์ฌ๋ถ์ ๊ด๊ณ์์ด ๋ชจ๋ ๊ฒ์ ๋์์ด ํ ์คํธํ๋ ๋ฐฐํฌ๋ ๋ชจ๋ํฐ๋ง ์์คํ ์ ๋๋ค. ์ด ๊ฒฝ์ฐ ์ ์ผํ ์ฐจ์ด์ ์ ํ ๋ฒ ์ํ๋๋์ง, ๋ ๋ฒ ์ํ๋๋์ง์ ๋๋ค. ์์ฃผ ์ข์ ํ ์คํธ ์ธํธ... ๋์์ด ์คํ๋๋ ๊ฒ์ ๋ชจ๋ํฐ๋ง์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ ๋๋ก ๋ ๋ชจ๋ํฐ๋ง์ ์ด๋์ผ ํฉ๋๋ค.
๋ฐ๋ผ์ ๊ธ์์ผ ์ ๋ ์ ์ค๋นํ๊ณ ์ง์ ๊ฐ ๋ ์ด ์ํ๋ฅผ ์ ํํ ์ด๋ป๊ฒ ๋ฌ์ฑํ ๊ฒ์ธ์ง๋ ๋ ๋ค๋ฅธ ์ง๋ฌธ์ ๋๋ค. ์ด์ฉ๋ฉด ๋น์ ์ ๋๋ดํ ์ฐ๋ ๊ธฐ์ผ์ง๋ ๋ชจ๋ฆ ๋๋ค.
์ง์์ ์ธ ํตํฉ์ผ๋ก ์กฐ๊ธ ๋์๊ฐ ๋ณด๊ฒ ์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฝ๊ฐ ๋ค๋ฅธ ๋ณต์กํ ๊ดํ์ ์ง๋ฉดํ์ต๋๋ค.
๊ทธ๋ฆฌ๊ณ ๋ ๋ฒ์งธ ํ์์ MVP๊ฐ ์ ์ํ๊ฒ ์๋ฃ๋์ด์ผ ํ๋ฏ๋ก ํ ์คํธ๊ฐ ์ ํ ํ์ํ์ง ์๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฐ ์์ผ๋ก๋ ํ์คํ ์๋๋๋ค. ์ฌ์ค MVP์์ ์ฌ์ฉ์ ์คํ ๋ฆฌ๋ฅผ ์์ฑํ ๋ ๊ณต ์์์ ๊ฐ๋ฐํ ์ ์์ต๋๋ค. ์ฆ, ์ผ์ข ์ ์ฌ์ฉ์ ์คํ ๋ฆฌ๊ฐ ์๋ค๋ ๊ฒ์ ๋ฃ๊ณ ์ฆ์ ์คํํ์ฌ ์ฝ๋ฉํ๊ฑฐ๋ TDD๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์ ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ TDD์ ๋ฐ๋ฅด๋ฉด ์ค์ต์์ ์ ์ ์๋ฏ์ด ์๊ฐ์ด ๋ ์ค๋ ๊ฑธ๋ฆฌ์ง ์์ต๋๋ค. ์ฆ, ํ ์คํธ๋ ๋ถ์์ฉ์ ๋๋ค. TDD์ ์ค์ฒ์ ํ ์คํธ์ ๊ดํ ๊ฒ์ด ์๋๋๋ค. ํ ์คํธ ์ฃผ๋ ๊ฐ๋ฐ(Test Driven Development)์ด๋ผ๊ณ ๋ถ๋ฆฌ๋ ๊ฒ์๋ ๋ถ๊ตฌํ๊ณ ๊ทธ๊ฒ์ ์ ํ ํ ์คํธ์ ๊ดํ ๊ฒ์ด ์๋๋๋ค. ์ด๊ฒ์ ๋ํ ์คํ๋ ค ๊ฑด์ถ์ ์ธ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ๊ผญ ํ์ํ ๊ฒ๋ง ์ฐ๊ณ , ํ์ํ์ง ์์ ๊ฒ์ ์ฐ์ง ์๋ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค. ์ด๋ ์ ํ๋ฆฌ์ผ์ด์ ์ํคํ ์ฒ ์์ฑ ์ธก๋ฉด์์ ์๊ฐ์ ๋ค์ ๋ฐ๋ณต์ ์ง์คํ๋ ๊ดํ์ ๋๋ค.
๊ทธ๋ฌ๋ฏ๋ก ์ด๋ฌํ ํ์์ ์์ ๋ ๊ฒ์ ๊ทธ๋ฆฌ ์ฝ์ง ์์ต๋๋ค. MVP์ ํ ์คํธ๋ ์๋ก ๋ชจ์๋์ง ์์ต๋๋ค. ์ฌ์ง์ด ์คํ๋ ค ๋ฐ๋๋ก TDD ์ฐ์ต์ ์ฌ์ฉํ์ฌ MVP๋ฅผ ์ํํ๋ฉด ์ ํ ์ฐ์ตํ์ง ์๊ณ ๊ณต ์์์ ์ํํ๋ ๊ฒ๋ณด๋ค ๋ ์ข๊ณ ๋น ๋ฅด๊ฒ ์ํํ ์ ์์ต๋๋ค.
์ด๊ฒ์ ๋งค์ฐ ๋ช ํํ์ง ์๊ณ ๋ณต์กํ ์์ด๋์ด์ ๋๋ค. ์ด์ ๋ ๋ง์ ํ ์คํธ๋ฅผ ์์ฑํ๊ณ ๋์์ ๋ ๋น ๋ฅธ ์์ ์ ์ํํ ๊ฒ์ด๋ผ๋ ๋ง์ ๋ค์ผ๋ฉด ์์ ํ ๋ถ์ ์ ํ๊ฒ ๋ค๋ฆฝ๋๋ค.
(Dmitry) ์ฌ๊ธฐ ๋ง์ ์ฌ๋๋ค์ MVP๋ฅผ ๋ถ๋ฅผ ๋ ๋๋ฌด ๊ฒ์ผ๋ฅธ ๋๋จธ์ง ์ ์์ ์ธ ๋ด์ฉ์ ์์ฑํ์ง ์์ต๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ด๊ฒ๋ค์ ์ฌ์ ํ โโโโ๋ค๋ฅธ ๊ฒ์ ๋๋ค. MVP๋ฅผ ์๋ํ์ง ์๋ ๋์ ๊ฒ์ผ๋ก ๋ฐ๊ฟ ํ์๋ ์์ต๋๋ค.
์, ์, ๋น์ ๋ง์ด ๋ง์์.
๊ทธ๋ฆฌ๊ณ ๊ฐ์๊ธฐ ํ๋ก๋์ ์์ MVP๊ฐ ๋์์ต๋๋ค.
์์ํ.
๊ทธ๋ฆฌ๊ณ TDD๋ ํ ์คํธ๋ฅผ ์์ฑํ๊ณ ๋ ๋ง์ ์์ ์ ์ํํ๋ ๊ฒ ๊ฐ๋ค๋ ๋ง์ ๋ค์ผ๋ฉด ๋งค์ฐ ์ด์ํ๊ฒ ๋ค๋ฆฝ๋๋ค. ๋งค์ฐ ์ด์ํ๊ฒ ๋ค๋ฆฌ์ง๋ง ์ค์ ๋ก๋ ์ด๋ ๊ฒ ํ๋ฉด ๋ ๋น ๋ฅด๊ณ ์๋ป์ง๋๋ค. ํ ์คํธ๋ฅผ ์์ฑํ ๋ ์ด๋ค ์ฝ๋๊ฐ ํธ์ถ๋ ์ง, ์ด๋ป๊ฒ ํธ์ถ๋ ์ง, ๊ทธ๋ฆฌ๊ณ ์ฝ๋์์ ๊ธฐ๋ํ๋ ๋์์ด ๋ฌด์์ธ์ง์ ๋ํด ์ด๋ฏธ ๋จธ๋ฆฌ ์์ผ๋ก ๋ง์ด ์๊ฐํ๊ฒ ๋ฉ๋๋ค. ๋ด๊ฐ ์ด๋ค ํจ์๋ฅผ ์์ฑํ๊ณ ๊ทธ๊ฒ์ด ์ด๋ค ์ผ์ ํ๋ค๊ณ ๋ง ๋งํ๋ ๊ฒ์ด ์๋๋๋ค. ์ฒ์์ ๋น์ ์ ๊ทธ๋ ๊ฐ ์ด๋ฌ์ ๋ฌํ ์กฐ๊ฑด์ ๊ฐ์ง๊ณ ์๊ณ , ์ด๋ฌ์ ๋ฌํ ๋ฐฉ์์ผ๋ก ๋ถ๋ฆ์ ๋ฐ์ ๊ฒ์ด๋ผ๊ณ ์๊ฐํ์ต๋๋ค. ์ด๋ฅผ ํ ์คํธ๋ก ๋ค๋ฃจ๊ณ ์ด๋ฅผ ํตํด ์ธํฐํ์ด์ค๊ฐ ์ฝ๋ ๋ด๋ถ์์ ์ด๋ป๊ฒ ๋ณด์ด๋์ง ์ดํดํฉ๋๋ค. ์ด๋ ๊ฑด์ถ์ ํฐ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๋จผ์ ์ฝ๋๋ฅผ ํ ์คํธํ๋ ๋ฐฉ๋ฒ์ ์ดํดํ ๋ค์ ์์ฑํ๊ธฐ ๋๋ฌธ์ ์ฝ๋๋ ์๋์ผ๋ก ๋ชจ๋ํ๋ฉ๋๋ค.
TDD๋ฅผ ํ๋ฉด์ ๋์๊ฒ ์ผ์ด๋ ์ผ์ ๋ด๊ฐ ์์ง Ruby ํ๋ก๊ทธ๋๋จธ์์ ๋ ์ด๋ ์์ ์ Ruby ๋ฉํ ๋ฅผ ๊ณ ์ฉํ๋ค๋ ๊ฒ์ ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ทธ๋ "TDD์ ๋ฐ๋ผ ํด๋ณด์"๊ณ ๋งํฉ๋๋ค. ๋๋ ์๊ฐํ๋ค: "์ ์ฅ, ์ด์ ๋ญ๊ฐ๋ฅผ ๋ ์จ์ผ ํด." ๊ทธ๋ฆฌ๊ณ ์ฐ๋ฆฌ๋ XNUMX์ฃผ ์์ TDD๋ฅผ ์ฌ์ฉํ์ฌ Python์ผ๋ก ๋ชจ๋ ์์ ์ฝ๋๋ฅผ ์์ฑํ๊ธฐ๋ก ํฉ์ํ์ต๋๋ค. XNUMX์ฃผ ํ์ ๋๋ ๋์๊ฐ๊ณ ์ถ์ง ์๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค. ์ด๊ฒ์ ๋ชจ๋ ๊ณณ์ ์ ์ฉํ๋ ค๊ณ XNUMX์ฃผ ๋์ ๋ ธ๋ ฅํ ํ์๋ ์๊ฐํ๋ ๊ฒ์กฐ์ฐจ ์ผ๋ง๋ ์ฌ์์ก๋์ง ๊นจ๋ซ๊ฒ ๋ฉ๋๋ค. ํ์ง๋ง ์ด๊ฒ์ด ๋ช ํํ์ง ์๊ธฐ ๋๋ฌธ์ TDD๊ฐ ์ด๋ ต๊ณ ์๊ฐ์ด ๋ง์ด ๊ฑธ๋ฆฌ๋ฉฐ ๋ถํ์ํ๋ค๋ ๋๋์ด ๋ ๋ค๋ฉด ๋จ XNUMX์ฃผ๋ง TDD๋ฅผ ๊ณ ์ํด ๋ณด์๊ธฐ๋ฅผ ๋ชจ๋ ์ฌ๋์๊ฒ ๊ถ์ฅํฉ๋๋ค. ๋์๊ฒ ๋ ๊ฐ๋ฉด ์ถฉ๋ถํ๋ค.
(Dmitry) ์ด ์์ด๋์ด๋ฅผ ์ธํ๋ผ ์ด์์ ๊ด์ ์์ ํ์ฅํ ์ ์์ต๋๋ค. ์๋ก์ด ๊ฒ์ ์ถ์ํ๊ธฐ ์ ์ ๋ชจ๋ํฐ๋ง์ ํ ๋ค์ ์ถ์ํฉ๋๋ค. ์ด ๊ฒฝ์ฐ ๋ชจ๋ํฐ๋ง์ ์ฐ๋ฆฌ์๊ฒ ์ผ๋ฐ์ ์ธ ํ ์คํธ๊ฐ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๋ชจ๋ํฐ๋ง์ ํตํ ๋ฐ์ ์ด ์์ต๋๋ค. ๊ทธ๋ฐ๋ฐ ๊ฑฐ์ ๋ค๋ค ๊ธธ๋ค, ๊ฒ์ผ๋ฅด๋ค, ์์ ์ด์์ ๋ง๋ค์๋ค๊ณ ํ๋๊ตฐ์. ์ ์์ ์ธ ๋ชจ๋ํฐ๋ง์ ํ๋ค๋ฉด CI ์์คํ ์ ์ํ๋ฅผ ํ์ ํ๊ฒ ๋ฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ CI ์์คํ ์๋ ๋ชจ๋ํฐ๋ง์ด ๋ง์์. ์ฐ๋ฆฌ๋ ์์คํ ์ ์ํ๋ฅผ ์ดํดํ๊ณ ๊ทธ ๋ด๋ถ์ ๋ฌด์์ด ์๋์ง ์ดํดํฉ๋๋ค. ๊ทธ๋ฆฌ๊ณ ๊ฐ๋ฐ ๊ณผ์ ์์๋ ์์คํ ์ด ์ํ๋ ์ํ์ ๋๋ฌํ ์ ์๋๋ก ๋ง๋ค์ด๋๊ฐ๊ณ ์์ ๋ฟ์ ๋๋ค.
์ด๋ฌํ ๊ดํ์ ์ค๋ซ๋์ ์๋ ค์ ธ ์์ต๋๋ค. ์ฐ๋ฆฌ๋ ์ฝ 4๋ ์ ์ ์ด์ ๋ํด ๋ ผ์ํ์ต๋๋ค. ํ์ง๋ง 4๋ ๋์ ๊ฑฐ์ ์๋ฌด๊ฒ๋ ๋ณํ์ง ์์์ต๋๋ค.
๊ทธ๋ฌ๋ ์ด ์ ์ ๋ํด ๋๋ ๊ณต์์ ์ธ ๋ ผ์๋ฅผ ์ค๋จํ ๊ฒ์ ์ ์ํฉ๋๋ค.
๋น๋์ค(๋ฏธ๋์ด ์์๋ก ์ฝ์ ๋์์ง๋ง ์ด๋ค ์ด์ ๋ก ์๋ํ์ง ์์):
์ถ์ฒ : habr.com