์ค๋์ ์ฉ์ด์ ์ญ์ฌ๋ฅผ ์ดํด๋ณด๊ณ , CI ๊ตฌํ์ ์ด๋ ค์์ ๋ํด ๋ ผ์ํ๊ณ , CI ์์ ์ ๋์์ด ๋๋ ๋ช ๊ฐ์ง ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋๊ตฌ๋ฅผ ์ ๊ณตํ๊ฒ ์ต๋๋ค.
/ํ๋ฆฌ์ปค/
๊ธฐ๊ฐ
์ง์์ ์ธ ํตํฉ์ ๋น๋ฒํ ํ๋ก์ ํธ ๋น๋ ๋ฐ ์ฝ๋ ํ ์คํธ๋ฅผ ํฌํจํ๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ์ ๋ํ ์ ๊ทผ ๋ฐฉ์์ ๋๋ค.
๋ชฉํ๋ ํตํฉ ํ๋ก์ธ์ค๋ฅผ ์์ธก ๊ฐ๋ฅํ๊ฒ ๋ง๋ค๊ณ ์ ์ฌ์ ์ธ ๋ฒ๊ทธ์ ์ค๋ฅ๋ฅผ ์ด๊ธฐ ๋จ๊ณ์์ ๊ฐ์งํ์ฌ ์์ ํ๋ ๋ฐ ๋ ๋ง์ ์๊ฐ์ ํ๋ณดํ๋ ๊ฒ์ ๋๋ค.
์ง์์ ์ธ ํตํฉ์ด๋ผ๋ ์ฉ์ด๋ 1991๋
์ ์ฒ์ ๋ฑ์ฅํ์ต๋๋ค. UML ์ธ์ด ์ฐฝ์์๊ฐ ์๊ฐํ์ต๋๋ค.
์ด์ผ๊ธฐ
1996๋
์ CI๋ ๋ฐฉ๋ฒ๋ก ์ฐฝ์์๋ค์ ์ํด ์ฑํ๋์์ต๋๋ค.
2000๋
๋ ์ด๋ฐ Agile Alliance์ ์ฐฝ๋ฆฝ์ ์ค ํ ๋ช
์ด ์ง์์ ์ธ ํตํฉ ๋ฐฉ๋ฒ๋ก ์ ํ๋ณดํ๊ธฐ ์์ํ์ต๋๋ค.
๋๊ตฌ์ ๋น๋ ์ฃผ๊ธฐ๋ ๋ฒ์ ์ ์ด ์์คํ ์์ ์ฝ๋ ๋ฒ ์ด์ค์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฃผ๊ธฐ์ ์ผ๋ก ํ์ธํ๋ ๋ฐ๋ชฌ์ผ๋ก ๊ตฌํ๋ฉ๋๋ค. ์๋ฃจ์ ์ ์ค๋ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค.
๋ฐฐํฌ์ BSD์ ์ ์ฌํ ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ.
CI์ฉ ์ํํธ์จ์ด๊ฐ ๋ฑ์ฅํ๋ฉด์ ์ ์ ๋ ๋ง์ ๊ธฐ์
์ด CI๋ฅผ ์ฑํํ๊ธฐ ์์ํ์ต๋๋ค. Forrester ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด [5ํ์ด์ง
์ค๋๋ ์ง์์ ํตํฉ์ ๊ดํ์ ๋ค์ํ ์ฐ์ ๋ถ์ผ์ ์กฐ์ง์์ ์ฌ์ฉ๋ฉ๋๋ค. 2018๋ ํ ๋ํ ํด๋ผ์ฐ๋ ์ ๊ณต์ ์ฒด๋ ์๋น์ค, ๊ต์ก, ๊ธ์ต ๋ถ๋ฌธ ๊ธฐ์ ์ IT ์ ๋ฌธ๊ฐ๋ฅผ ๋์์ผ๋ก ์ค๋ฌธ์กฐ์ฌ๋ฅผ ์ค์ํ์ต๋๋ค. 58๋ช ์ ์๋ต์ ์ค XNUMX%๊ฐ ์ ๋ฌด์ CI ๋๊ตฌ์ ์์น์ ์ฌ์ฉํ๋ค๊ณ ๋ตํ์ต๋๋ค.
์ด๊ฑฐ ์ด๋ป๊ฒ ์๋ ์์ผ์
์ง์์ ์ธ ํตํฉ์ ๋ฒ์ ์ ์ด ์์คํ ๊ณผ CI ์๋ฒ๋ผ๋ ๋ ๊ฐ์ง ๋๊ตฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํฉ๋๋ค. ํ์๋ ๋ฌผ๋ฆฌ์ ์ฅ์น์ผ ์๋ ์๊ณ ํด๋ผ์ฐ๋ ํ๊ฒฝ์ ๊ฐ์ ๋จธ์ ์ผ ์๋ ์์ต๋๋ค. ๊ฐ๋ฐ์๋ ํ๋ฃจ์ ํ ๋ฒ ์ด์ ์ ์ฝ๋๋ฅผ ์ ๋ก๋ํฉ๋๋ค. CI ์๋ฒ๋ ์ด๋ฅผ ๋ชจ๋ ์ข ์์ฑ๊ณผ ํจ๊ป ์๋์ผ๋ก ๋ณต์ฌํ๊ณ ๋น๋ํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ํตํฉ ๋ฐ ๋จ์ ํ ์คํธ๋ฅผ ์คํํฉ๋๋ค. ํ ์คํธ๊ฐ ์ฑ๊ณต์ ์ผ๋ก ํต๊ณผ๋๋ฉด CI ์์คํ ์ด ์ฝ๋๋ฅผ ๋ฐฐํฌํฉ๋๋ค.
์ผ๋ฐ์ ์ธ ํ๋ก์ธ์ค ๋ค์ด์ด๊ทธ๋จ์ ๋ค์๊ณผ ๊ฐ์ด ๋ํ๋ผ ์ ์์ต๋๋ค.
CI ๋ฐฉ๋ฒ๋ก ์ ๊ฐ๋ฐ์์๊ฒ ์ฌ๋ฌ ๊ฐ์ง ์๊ตฌ ์ฌํญ์ ์ ์ํฉ๋๋ค.
- ๋ฌธ์ ๋ฅผ ์ฆ์ ์์ ํ์ธ์. ์ด ์์น์ ์ต์คํธ๋ฆผ ํ๋ก๊ทธ๋๋ฐ์์ CI๋ก ์์ต๋๋ค. ๋ฒ๊ทธ ์์ ์ ๊ฐ๋ฐ์์ ์ต์ฐ์ ๊ณผ์ ์ ๋๋ค.
- ํ๋ก์ธ์ค๋ฅผ ์๋ํํฉ๋๋ค. ๊ฐ๋ฐ์์ ๊ด๋ฆฌ์๋ ํตํฉ ํ๋ก์ธ์ค์์ ๋ณ๋ชฉ ํ์์ ์ง์์ ์ผ๋ก ์ฐพ์ ์ ๊ฑฐํด์ผ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด ํตํฉ์ ๋ณ๋ชฉ ํ์์ด ๋ฐ์ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ต๋๋ค.
๋ฐํ์ง๋ค. ํ ์คํธ. - ๊ฐ๋ฅํ ํ ์์ฃผ ์งํ๋ฅผ ์งํํ์ญ์์ค. ํ๋ฃจ์ ํ ๋ฒ ํ ์์ ์ ๋๊ธฐํํฉ๋๋ค.
๊ตฌํ์ ์ด๋ ค์
์ฒซ ๋ฒ์งธ ๋ฌธ์ ๋ ๋์ ์ด์ ๋น์ฉ์ ๋๋ค. ํ์ฌ๊ฐ ๊ฐ๋ฐฉํ CI ๋๊ตฌ(๋์ค์ ์ค๋ช )๋ฅผ ์ฌ์ฉํ๋๋ผ๋ ์ฌ์ ํ ์ธํ๋ผ ์ง์์ ๋น์ฉ์ ์ง์ถํด์ผ ํฉ๋๋ค. ๊ทธ๋ฌ๋ ํด๋ผ์ฐ๋ ๊ธฐ์ ์ด ํด๊ฒฐ์ฑ ์ด ๋ ์ ์์ต๋๋ค.
๋ค์ํ ๊ท๋ชจ์ ์ปดํจํฐ ๊ตฌ์ฑ ์กฐ๋ฆฝ์ ๋จ์ํํฉ๋๋ค. ํ์ฌ์ ํ๋ฌ์ค
์ค๋ฌธ ์กฐ์ฌ์ ๋ฐ๋ฅด๋ฉด [ํ์ด์ง 14
์ธ ๋ฒ์งธ ์ด๋ ค์์ ์๋ํ ๋ฌธ์ ์ ๋๋ค. ์๋ํ๋ ํ ์คํธ์์ ๋ค๋ฃจ์ง ์๋ ๋ ๊ฑฐ์ ์ฝ๋๊ฐ ๋ง์ ์กฐ์ง์ ์ด ๋ฌธ์ ์ ์ง๋ฉดํฉ๋๋ค. ์ด๋ก ์ธํด CI๊ฐ ์์ ํ ๊ตฌํ๋๊ธฐ ์ ์ ์ฝ๋๊ฐ ๋จ์ํ ๋ค์ ์์ฑ๋๋ค๋ ์ฌ์ค์ด ๋ฐ์ํฉ๋๋ค.
/ํ๋ฆฌ์ปค/
๋๊ฐ ์ฌ์ฉ
IT ๋๊ธฐ์
๋ค์ ์ด ๋ฐฉ๋ฒ๋ก ์ ์ด์ ์ ๊ฐ์ฅ ๋จผ์ ์ธ์ํ ๊ธฐ์
์ค ํ๋์
๋๋ค. Google
์ง์์ ์ธ ํตํฉ์ ์๊ท๋ชจ ๊ธฐ์ ์๋ ๋์์ด ๋๋ฉฐ, CI ๋๊ตฌ๋ ๊ธ์ต ๋ฐ ์๋ฃ ๊ธฐ๊ด์์๋ ์ฌ์ฉ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด, Morningstar์์๋ ์ง์์ ์ธ ํตํฉ ์๋น์ค๋ฅผ ํตํด ์ทจ์ฝ์ ์ 70% ๋ ๋น ๋ฅด๊ฒ ํจ์นํ ์ ์์์ต๋๋ค. ๋ํ Philips Healthcare ์๋ฃ ํ๋ซํผ์ ์ ๋ฐ์ดํธ ํ ์คํธ ์๋๋ฅผ ๋ ๋ฐฐ๋ก ๋์ผ ์ ์์์ต๋๋ค.
๋๊ตฌ
CI์ ๋๋ฆฌ ์ฌ์ฉ๋๋ ๋๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ ํจ์ค ๊ฐ์ฅ ๋๋ฆฌ ์ฌ์ฉ๋๋ CI ์์คํ ์ค ํ๋์ ๋๋ค. ๋ค์ํ VCS, ํด๋ผ์ฐ๋ ํ๋ซํผ ๋ฐ ๊ธฐํ ์๋น์ค์์ ํตํฉ์ ์ํด ์์ฒ ๊ฐ๊ฐ ๋๋ ํ๋ฌ๊ทธ์ธ์ ์ง์ํฉ๋๋ค. 1cloud์์๋ Jenkins๋ ์ฌ์ฉํฉ๋๋ค. ๋๊ตฌDevOps ์์คํ ์ ํฌํจ๋จ . ๊ทธ๋ ์ ๊ธฐ์ ์ผ๋ก ํ ์คํธ์ฉ Git ๋ธ๋์น๋ฅผ ํ์ธํฉ๋๋ค.๋น๋ ๋ด โ ์์ ๋ง์ ์ง์์ ์ธ ํตํฉ ํ๋ก์ธ์ค๋ฅผ ์์ฑํ๊ธฐ ์ํ Python ํ๋ ์์ํฌ์ ๋๋ค. ๋๊ตฌ์ ์ด๊ธฐ ์ค์ ์ ๋งค์ฐ ๋ณต์กํ์ง๋ง ๋ค์ํ ์ฌ์ฉ์ ์ ์ ์ต์ ์ผ๋ก ๋ณด์๋ฉ๋๋ค. ํ๋ ์์ํฌ์ ์ฅ์ ์ค ์ฌ์ฉ์๋ ๋ฎ์ ๋ฆฌ์์ค ์ง์ฝ๋๋ฅผ ๊ฐ์กฐํฉ๋๋ค.์ฝฉ ์ฝ์ค CI Docker ์ปจํ ์ด๋๋ฅผ ์ฌ์ฉํ๋ Pivotal์ ์๋ฒ์ ๋๋ค. Concourse CI๋ ๋ชจ๋ ๋๊ตฌ ๋ฐ ๋ฒ์ ์ ์ด ์์คํ ๊ณผ ํตํฉ๋ฉ๋๋ค. ๊ฐ๋ฐ์๋ ์ด ์์คํ ์ด ๋ชจ๋ ๊ท๋ชจ์ ํ์ฌ์์ ์์ ํ๋ ๋ฐ ์ ํฉํ๋ค๊ณ ์ง์ ํฉ๋๋ค.๊น๋ฉ CI GitLab ๋ฒ์ ์ ์ด ์์คํ ์ ๋ด์ฅ๋ ๋๊ตฌ์ ๋๋ค. ์๋น์ค๋ ํด๋ผ์ฐ๋์์ ์คํ๋๋ฉฐ ๊ตฌ์ฑ์ ์ํด YAML ํ์ผ์ ์ฌ์ฉํฉ๋๋ค. Concourse, Gitlab CI์ ๋ง์ฐฌ๊ฐ์ง๋ก์ ์ฉ ๋ค์ํ ํ๋ก์ธ์ค๋ฅผ ์๋ก ๊ฒฉ๋ฆฌํ๋ ๋ฐ ๋์์ด ๋๋ Docker ์ปจํ ์ด๋์ ๋๋ค.์ฝ๋ ์ญ GitHub, GitLab ๋ฐ BitBucket๊ณผ ํจ๊ป ์๋ํ๋ ํด๋ผ์ฐ๋ CI ์๋ฒ์ ๋๋ค. ํ๋ซํผ์ ๊ธด ์ด๊ธฐ ์ค์ ์ด ํ์ํ์ง ์์ต๋๋ค. ์ฌ์ ์ค์น๋ ํ์ค CI ํ๋ก์ธ์ค๋ฅผ Codeship์์ ์ฌ์ฉํ ์ ์์ต๋๋ค. ์๊ท๋ชจ(์ ์ต๋ 100๊ฐ ๋น๋) ๋ฐ ์คํ ์์ค ํ๋ก์ ํธ์ ๊ฒฝ์ฐ Codeship์ ๋ฌด๋ฃ๋ก ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋น์ฌ ๋ธ๋ก๊ทธ์ ์๋ฃ:
ํ์ผ ๋ฐฑ์ : ๋ฐ์ดํฐ ์์ค๋ก๋ถํฐ ์์ ์ ๋ณดํธํ๋ ๋ฐฉ๋ฒ 1cloud.ru์ ์๋ฅผ ์ฌ์ฉํ ํด๋ผ์ฐ๋ ์๋น์ค์ DevOps ์กฐ์ง์ IT ์ธํ๋ผ์ ๋ํ ์ต์
์ถ์ฒ : habr.com