์ฐ๋ฆฌ๋
/ํฝ์ฌ๋ฒ ์ด/
์ด์ผ๊ธฐ
์ง์์ ์ธ ์ ๋ฌ์ด๋ผ๋ ๋ฌธ๊ตฌ๋ ๋ค์์์ ๋ณผ ์ ์์ต๋๋ค.
2010๋
์๋ Jez Humble๊ณผ David Farley๊ฐ ๋ฐ๋งคํ์ต๋๋ค.
์ฑ
์ด ์ถํ๋ ํ, ์ด ์ ๊ทผ ๋ฐฉ์์ ์ธ๊ธฐ๋ฅผ ์ป๊ธฐ ์์ํ๊ณ ๋ถ๊ณผ ๋ช ๋
๋ง์ ๊ฑฐ์ ๋ณดํธ์ ์ผ๋ก ๋ฐ์๋ค์ฌ์ก์ต๋๋ค. ์ ๋ฐ๋ฅด๋ฉด
์ด์ ์ด ์ ๊ทผ ๋ฐฉ์์ ๊ฐ์ฅ ์ธ๊ธฐ ์๋ ์ ๊ทผ ๋ฐฉ์ ์ค ํ๋๋ก ๋จ์ ์์ต๋๋ค. IT ์ปค๋ฎค๋ํฐ DevOps ๋ฐ Jenkins ์ปค๋ฎค๋ํฐ๊ฐ ์ฐธ์ฌํ 2018๋
์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด
์ง์์ ์ธ ์ ๋ฌ์ ์ด๋ป๊ฒ ์๋ํ๋์?
CD ๊ธฐ๋ฐ์ ๋ฐฐํฌ๋ฅผ ์ํ ์ฝ๋์ ์ค๋น ์ํ์ ๋๋ค. ์ด ์์ ์ ์ํํ๊ธฐ ์ํด ๋ฆด๋ฆฌ์ค์ฉ ์ํํธ์จ์ด ์ค๋น ํ๋ก์ธ์ค์ ์๋ํ๊ฐ ์ฌ์ฉ๋ฉ๋๋ค. ์ด๋ ๋ค์ํ ๊ฐ๋ฐ ํ๊ฒฝ์์ ํ์ค์ด ๋์ด์ผ ํ๋ฉฐ, ์ด๋ ์ฝ์ ์ ์ ์ํ๊ฒ ์ฐพ์ ์ต์ ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค. ์๋ฅผ ๋ค์ด ํ ์คํธ ์๋๋ฅผ ๋์ ๋๋ค.
์ง์์ ์ธ ์ ๋ฌ ํ๋ก์ธ์ค์ ์๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
์ง์์ ์ธ ํตํฉ ์ ๊ทผ ๋ฐฉ์์ด ์ฒ์ ๋ ๋จ๊ณ์ ์๋ํ๋ฅผ ๋ด๋นํ๋ค๋ฉด ์ง์์ ์ธ ์ ๋ฌ์ ๋ค์ ๋ ๋จ๊ณ๋ฅผ ๋ด๋นํฉ๋๋ค. ๋ฌด์๋ณด๋ค๋ ์์คํ
์ ํตํด ํ๋ก์ธ์ค ์์ ์ฑ์ด ๋ณด์ฅ๋ฉ๋๋ค.
ํ๋ก์ธ์ค์๋ ๋ค์ ์๊ตฌ ์ฌํญ์ด ์ ์ฉ๋ฉ๋๋ค.
- ํ๋ก๋์ ํ๊ฒฝ ์ง์ ์ค๋น ๋ฐ ์ฆ์ ๋ฆด๋ฆฌ์ค ์ค๋น์ ๋ํ ์ ๋ณด ๊ฐ์ฉ์ฑ(CD ๋๊ตฌ๋ฅผ ์ฌ์ฉํ๋ฉด ์ฝ๋๋ฅผ ํ ์คํธํ๊ณ ๋ฆด๋ฆฌ์ค ๋ณ๊ฒฝ ํจ๊ณผ๋ฅผ ํ๊ฐํ ์ ์์)
- ์ต์ข ์ ํ์ ๋ํ ์ ๋ฐ์ ์ธ ์ฑ ์. ์ ํ ํ(๊ด๋ฆฌ์, ๊ฐ๋ฐ์, ํ ์คํฐ)์ ์์ ์ ์ฑ ์ ์์ญ๋ฟ๋ง ์๋๋ผ ๊ฒฐ๊ณผ์ ๋ํด ์๊ฐํฉ๋๋ค(๊ฒฐ๊ณผ๋ ์ ํ ์ฌ์ฉ์๊ฐ ์ฌ์ฉํ ์ ์๋ ์์ ๋ฆด๋ฆฌ์ค์ ๋๋ค).
CD์์๋ ์ผ๋ฐ์ ์ผ๋ก ์ฌ์ฉ๋ฉ๋๋ค.
์ด์ ์ ๋ฌด์์ ๋๊น
Continuous Delivery๋ ์ฝ๋ ๋ฐฐํฌ๋ฅผ ๋จ์ํํ์ฌ ์์ฐ์ฑ์ ๊ธ์ ์ ์ธ ์ํฅ์ ๋ฏธ์น๊ณ ์ง์์ ํผ๋ก๊ฐ์ ์ค์ฌ์ค๋๋ค. ๊ถ๊ทน์ ์ผ๋ก ์ด๋ ์ ์ฒด ๊ฐ๋ฐ ๋น์ฉ์ ์ ๊ฐํฉ๋๋ค. ์๋ฅผ ๋ค์ด CD๋ HP ํ ์ค ํ๋์ ๋์์ด ๋์์ต๋๋ค.
๋ํ 2016๋
์ฐ๊ตฌ์ ๋ฐ๋ฅด๋ฉด(28ํ์ด์ง)
๋ ๋ค๋ฅธ ์ฅ์ ์ ๋ฆด๋ฆฌ์ค ๊ฐ์ํ์
๋๋ค. ํ๋๋ ๊ฐ๋ฐ ์คํ๋์ค์์ ์ง์์ ์ธ ์ ๊ณต
์ ์ฌ์ ์ธ ์ด๋ ค์
์ฒซ ๋ฒ์งธ์ด์ ์ฃผ์ ๋ฌธ์ ๋ ์ต์ํ ํ๋ก์ธ์ค๋ฅผ ๋ค์ ๊ตฌ์ถํด์ผ ํ๋ค๋ ๊ฒ์ ๋๋ค. ์๋ก์ด ์ ๊ทผ ๋ฐฉ์์ ์ด์ ์ ๋ณด์ฌ์ฃผ๊ธฐ ์ํด ๊ฐ์ฅ ๋ ธ๋ ์ง์ฝ์ ์ธ ์์ฉ ํ๋ก๊ทธ๋จ๋ถํฐ ์์ํ์ง ์๊ณ ์ ์ฐจ์ ์ผ๋ก CD๋ก ์ ํํ๋ ๊ฒ์ด ์ข์ต๋๋ค.
๋ ๋ฒ์งธ ์ ์ฌ์ ์ธ ๋ฌธ์ ๋ ์ฝ๋ ๋ถ๊ธฐ ์๊ฐ ๋ง๋ค๋ ๊ฒ์
๋๋ค. "๋ถ๊ธฐ"์ ๊ฒฐ๊ณผ๋ ๋น๋ฒํ ์ถฉ๋๊ณผ ๋ง์ ์๊ฐ์ ์ถ๊ฐ ์์ค์
๋๋ค. ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ
- ์ ๊ทผ ๋ฐฉ์
ํนํ ์ผ๋ถ ํ์ฌ์์๋ ํ ์คํธ์ ํฐ ์ด๋ ค์์ด ๋ฐ์ํฉ๋๋ค. ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค. ํ ์คํธ ๊ฒฐ๊ณผ๋ฅผ ์๋์ผ๋ก ๋ถ์ํด์ผ ํ๋ ๊ฒฝ์ฐ๊ฐ ๋ง์ง๋ง ๊ฐ๋ฅํ ํด๊ฒฐ์ฑ ์ CD ๊ตฌํ ์ด๊ธฐ ๋จ๊ณ์์ ํ ์คํธ๋ฅผ ๋ณ๋ ฌํํ๋ ๊ฒ์ ๋๋ค.
๋ํ ์ง์๋ค์ด ์๋ก์ด ๋๊ตฌ๋ฅผ ์ฌ์ฉํ์ฌ ์์ ํ ์ ์๋๋ก ๊ต์กํด์ผ ํฉ๋๋ค. ์๋น ๊ต์ก ํ๋ก๊ทธ๋จ์ ํตํด ๊ฐ๋ฐ์์ ๋ ธ๋ ฅ๊ณผ ์๊ฐ์ ์ ์ฝํ ์ ์์ต๋๋ค.
/ํ๋ฆฌ์ปค/
๋๊ตฌ
Continuous Delivery๋ฅผ ์ํ ๋ช ๊ฐ์ง ๊ณต๊ฐ ๋๊ตฌ๋ ๋ค์๊ณผ ๊ฐ์ต๋๋ค.
๊ณ ์จ๋ โ Java ๋ฐ JRuby on Rails์ ์ง์์ ์ธ ์ ๋ฌ์ ์ํ ์๋ฒ์ ๋๋ค. ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต ํ๋ก์ธ์ค(๋น๋-ํ ์คํธ-๋ฆด๋ฆฌ์ค)๋ฅผ ์ ์ดํ ์ ์์ต๋๋ค. ์ด ๋๊ตฌ๋ Apache 2.0 ๋ผ์ด์ผ์ค์ ๋ฐ๋ผ ๋ฐฐํฌ๋ฉ๋๋ค. ๊ณต์ ํํ์ด์ง์์ ๋ง๋๋ณด์ค ์ ์์ด์์ค์ ๊ฐ์ด๋ .์นดํผ ์คํธ๋ผ ๋ ธ โ Ruby, Java ๋๋ PHP๋ก ์ ํ๋ฆฌ์ผ์ด์ ๋ฐฐํฌ๋ฅผ ์๋ํํ๋ ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑํ๊ธฐ ์ํ ํ๋ ์์ํฌ์ ๋๋ค. Capistrano๋ SSH๋ฅผ ํตํด ์๊ฒฉ ์์คํ ์ ์ฐ๊ฒฐํ์ฌ ๋ช ๋ น์ ์คํํ ์ ์์ต๋๋ค. Integrity CI ์๋ฒ์ ๊ฐ์ ๋ค๋ฅธ ์ง์์ ์ธ ํตํฉ ๋ฐ ์ ๊ณต ๋๊ตฌ์ ํจ๊ป ์๋ํฉ๋๋ค.์๋ ์ ์ฒด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์ฃผ๊ธฐ๋ฅผ ์๋ํํ๋ ๋ค์ค ํ๋ซํผ ๋๊ตฌ์ ๋๋ค. Gradle์ Java, Python, C/C++, Scala ๋ฑ๊ณผ ํจ๊ป ์๋ํฉ๋๋ค. Eclipse, IntelliJ ๋ฐ Jenkins์ ํตํฉ๋์ด ์์ต๋๋ค.๋ฌด์ธ ๋นํ๊ธฐ - Go ์ธ์ด๋ก ๋ CD ํ๋ซํผ. ๋๋ก ์ ์จํ๋ ๋ฏธ์ค๋ ํด๋ผ์ฐ๋์ ๋ฐฐํฌ๋ ์ ์์ต๋๋ค. ์ด ๋๊ตฌ๋ ์ปจํ ์ด๋ ์์ ๊ตฌ์ถ๋์์ผ๋ฉฐ YAML ํ์ผ์ ์ฌ์ฉํ์ฌ ๊ด๋ฆฌํฉ๋๋ค.ํฐ ์ผ๊ฐ ๋ โ ๋ฉํฐ ํด๋ผ์ฐ๋ ์์คํ ์์ ์ง์์ ์ธ ์ฝ๋ ์ ๋ฌ์ ์ํ ํ๋ซํผ์ ๋๋ค. Netflix๊ฐ ๊ฐ๋ฐํ ์ด ๋๊ตฌ์ ๊ฐ๋ฐ์๋ Google ์์ง๋์ด๋ค์ด ํฐ ์ญํ ์ ํ์ต๋๋ค. ์ค์น ์ง์นจ๊ณต์ ํํ์ด์ง์์ ์ฐพ์๋ณด์ธ์ .
๋น์ฌ ๋ธ๋ก๊ทธ์์ ์ฝ์ ๋ด์ฉ:
1cloud.ru์ ์๋ฅผ ์ฌ์ฉํ ํด๋ผ์ฐ๋ ์๋น์ค์ DevOps API๋ฅผ ์ฌ์ฉํ์ฌ ์ ์ฅํ๋ ๋ฐฉ๋ฒ ํด๋ผ์ฐ๋ ์ํคํ ์ฒ์ ์งํ 1cloud
์ถ์ฒ : habr.com