CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ๋ ํนํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋, ํ ์คํธ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค๋ฅผ ์๋ํํ๋ ๋ฐ ์ค์ ์ ๋๋ ์ง์์ ์ธ ํตํฉ(CI) ๋ฐ ์ง์์ ์ธ ์ ๋ฌ(CD)์ ๋งฅ๋ฝ์์ ์ต์ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์ ๊ตฌ์ฑ ์์์ ๋๋ค. CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ์ ์ฃผ์ ๋ชฉํ๋ ์์ฐ๋ ์ํํธ์จ์ด๊ฐ ์ง์์ ์ผ๋ก ๋์ ํ์ง์ ์ ์งํ๊ณ , ํญ์ ์ ๋ฐ์ดํธ๋๋ฉฐ, ์ต์ํ์ ์๋ ๊ฐ๋ ์ผ๋ก ์ต์ข ์ฌ์ฉ์์๊ฒ ๋ฆด๋ฆฌ์ค๋ ์ ์๋๋ก ๋ณด์ฅํ์ฌ ํจ์จ์ฑ์ ๋์ด๊ณ ๊ณ ๊ฐ ๋ง์กฑ๋๋ฅผ ํฅ์์ํค๋ฉฐ ์๊ฐ์ ๋จ์ถํ๋ ๊ฒ์ ๋๋ค. ์์ฅ์.
CI/CD ํจ๋ฌ๋ค์์์ ๊ตฌ์ฑ ๊ด๋ฆฌ๋ ๋ค์๊ณผ ๊ฐ์ ๋ช ๊ฐ์ง ์ฃผ์ ์ธก๋ฉด์ ์ค์ฌ์ผ๋ก ์ด๋ฃจ์ด์ง๋๋ค.
- ๋ฒ์ ์ ์ด: ์ฝ๋, ๊ตฌ์ฑ ํ์ผ ๋ฐ ๊ธฐํ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ค์ํ ๊ตฌ์ฑ ์์์ ๋ํ ๋ณ๊ฒฝ ์ฌํญ์ ๊ด๋ฆฌํ๊ณ ์ถ์ ํ๋ ํ๋ก์ธ์ค์ ๋๋ค. ์ด๋ฅผ ํตํด ๋ชจ๋ ์์ ์ฌํญ์ด ์๊ฐ์์ผ๋ก ๊ธฐ๋ก๋๊ณ ์ฝ๊ฒ ๊ฒ์, ๋น๊ต ๋ฐ โโ๋ณํฉ๋ ์ ์์ผ๋ฏ๋ก ํ ๊ตฌ์ฑ์ ๊ฐ์ ๊ณต๋ ๊ฐ๋ฐ ๋ฐ ์ถฉ๋ ํด๊ฒฐ์ด ๊ฐ๋ฅํด์ง๋๋ค.
- ์ข ์์ฑ ๊ด๋ฆฌ: ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ํ ์ธ๋ถ ๋ผ์ด๋ธ๋ฌ๋ฆฌ, ํ๋ ์์ํฌ ๋ฐ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๋ ๋ฐฉ์์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ข ์์ฑ์ ๋ช ์์ ์ผ๋ก ์ถ์ ํ๊ณ , ํน์ ๋ฒ์ ์ ์ ๊ทธ๊ณ , ๋ณด์ ์ทจ์ฝ์ ์ ํด๊ฒฐํ๊ธฐ ์ํ ์ ๋ฐ์ดํธ ์๋ํ๊ฐ ํฌํจ๋ฉ๋๋ค. ์ข ์์ฑ ๊ด๋ฆฌ๋ ๊นจ๋ํ๊ณ ๊ด๋ฆฌ ๊ฐ๋ฅํ๋ฉฐ ์์ธก ๊ฐ๋ฅํ ์ ํ๋ฆฌ์ผ์ด์ ํ๊ฒฝ์ ์ ์งํ์ฌ ์๊ธฐ์น ์์ ์ค๋ฅ์ ์ํ์ ์ค์ด๊ณ ์ ์ง ๊ด๋ฆฌ ๋ ธ๋ ฅ์ ์ต์ํํ๋ ๋ฐ ๋์์ด ๋ฉ๋๋ค.
- ํ๊ฒฝ ๊ด๋ฆฌ: ์ฝ๋ ๋ณ๊ฒฝ๋ถํฐ ์ค์ ๋ฐฐํฌ๊น์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐ์ดํธ๋ฅผ ์ํํ๊ณ ํต์ ๋ ๋ฐฉ์์ผ๋ก ์งํํ ์ ์๋๋ก ๋ณ๋์ ๊ฐ๋ฐ, ํ ์คํธ, ์คํ ์ด์ง ๋ฐ ํ๋ก๋์ ํ๊ฒฝ์ ๊ตฌ์ฑํ๊ณ ์ ์ง ๊ด๋ฆฌํฉ๋๋ค. ์ด๋ฅผ ํตํด ์ผ๊ด์ฑ์ด ํฅ์๋๊ณ ์์์น ๋ชปํ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ์ํ์ด ์ค์ด๋ค๋ฉฐ ๋ค์ํ ๊ฐ๋ฐ ๋จ๊ณ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ด ์ ํํ๊ฒ ํํ๋ฉ๋๋ค.
- IaC(Infrastructure as Code): IaC๋ ๊ธฐ๊ณ ํ๋ ๊ฐ๋ฅ ์ ์ ํ์ผ์ ์ฌ์ฉํ์ฌ ์๋ฒ, ๋ฐ์ดํฐ๋ฒ ์ด์ค, ๋คํธ์ํฌ ๊ตฌ์ฑ๊ณผ ๊ฐ์ ์ธํ๋ผ ๋ฆฌ์์ค๋ฅผ ๊ด๋ฆฌํ๊ณ ํ๋ก๋น์ ๋ํ๋ ๋ฐฉ์์ ๋๋ค. ์ธํ๋ผ ๊ตฌ์ฑ ์์๋ฅผ ์ฝ๋๋ก ์ฒ๋ฆฌํจ์ผ๋ก์จ ๊ฐ๋ฐ์๋ ๋ฒ์ ์ ์ด๋ฅผ ์ ์ฉํ๊ณ ๋ฐฐํฌ๋ฅผ ์๋ํํ๋ฉฐ ๋ชจ๋ ๊ฐ๋ฐ ๋จ๊ณ์์ ์ผ๊ด๋ ํ๊ฒฝ์ ์ ์งํ์ฌ ํจ์จ์ฑ์ ๋์ด๊ณ ์๋ ์ค๋ฅ๋ฅผ ์ค์ผ ์ ์์ต๋๋ค.
AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ๋ ์ ์ํ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ๋ฐ ์ ๊ณต์ ๊ฐ๋ฅํ๊ฒ ํ๋ ๋ฐ ์ค์ถ์ ์ธ ์ญํ ์ ํฉ๋๋ค. AppMaster ์ ๊ฐ๋ ฅํ ๋๊ตฌ ์ธํธ๋ฅผ ์ฌ์ฉํ๋ฉด ๊ณ ๊ฐ์ด ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ๋ฐ์ดํฐ ๋ชจ๋ธ, ๋น์ฆ๋์ค ํ๋ก์ธ์ค ๋ฐ ์ฌ์ฉ์ ์ธํฐํ์ด์ค๋ฅผ ์๊ฐ์ ์ผ๋ก ์ฝ๊ฒ ๋ง๋ค ์ ์์ต๋๋ค.
๊ณ ๊ฐ์ด '๊ฒ์' ๋ฒํผ์ ๋๋ฅด๋ฉด AppMaster ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํด ๊ฐ๊ฐ Go, Vue3 ๋๋ JS/TS ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ค ์ฝ๋๋ฅผ ์๋์ผ๋ก ์์ฑํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ๊ณ , ํ ์คํธ๋ฅผ ์คํํ๊ณ , ์ด๋ฅผ Docker ์ปจํ ์ด๋์ ์์ถํ๊ณ , ํด๋ผ์ฐ๋ ๋๋ ์จํ๋ ๋ฏธ์ค์ ๋ฐฐํฌํฉ๋๋ค. ์ด ๊ฐ์ํ๋ ํ๋ก์ธ์ค๋ CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ ์์น์ ์๋ฒฝํ๊ฒ ํ์ฉํ์ฌ ์๋ ๊ฐ์ ์ ์ต์ํํ๊ณ ๊ณ ํ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ ๋ณด์ฅํฉ๋๋ค.
AppMaster Swagger(๊ฐ๋ฐฉํ API) ๋ฌธ์, ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ, ์คํ ๊ฐ๋ฅํ ๋ฐ์ด๋๋ฆฌ ํ์ผ ๋๋ ์์ค ์ฝ๋์ ์๋ ์์ฑ ๊ธฐ๋ฅ์ ์๋์ค๋ฝ๊ฒ ์ ๊ณตํ์ฌ ๊ตฌ์ฑ ๊ด๋ฆฌ ๊ธฐ๋ฅ์ ๋์ฑ ํฅ์์ํต๋๋ค. ์ ํ๋ฆฌ์ผ์ด์ ์ฒญ์ฌ์ง์ ๋ํ ๋ชจ๋ ์์ ์ฌํญ์ ์ ์ํ๊ฒ ํตํฉ, ํ ์คํธ ๋ฐ ํ๋ก๋์ ์ ๋ฐฐํฌ๋ ์ ์์ผ๋ฏ๋ก ๊ธฐ์ ์ ๋ถ์ฑ๋ฅผ ์ ๊ฑฐํ๊ณ ๊ฑด์ ํ ์ต์ ์ ํ๋ฆฌ์ผ์ด์ ํ๊ฒฝ์ ์ ์งํ ์ ์์ต๋๋ค.
์ด ๊ฐ๋ ฅํ CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ ์ ๊ทผ ๋ฐฉ์์ ๋ค์๊ณผ ๊ฐ์ ๋ค์ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค.
- ์ ํ๋ฆฌ์ผ์ด์ ํ์ง ํฅ์: ์๋ํ๋ ํ ์คํธ ๋ฐ ๊ฒ์ฆ ํ๋ก์ธ์ค๋ฅผ ํตํด ์ ํ๋ฆฌ์ผ์ด์ ๊ฒฐํจ์ ์ ์ํ๊ฒ ์๋ณํ๊ณ ํด๊ฒฐํ์ฌ ๋ณด๋ค ์์ ์ ์ด๊ณ ์ ๋ขฐํ ์ ์๋ ์ต์ข ์ ํ์ ์ป์ ์ ์์ต๋๋ค.
- ํฅ์๋ ํ์ : ๊ฐ๋ฐ์ ๋ชจ๋ ๋จ๊ณ์์ ์ผ๊ด๋ ํ๊ฒฝ, ๋ฒ์ ์ ์ด ๋ฐ ์ค์๊ฐ ์ ๋ฐ์ดํธ๋ ํ ๊ตฌ์ฑ์ ๊ฐ์ ํจ์จ์ ์ธ ์ปค๋ฎค๋์ผ์ด์ ๋ฐ ํ์ ์ ์ด์งํ์ฌ ๊ฐ๋ฐ ์ํฌํ๋ก๋ฅผ ๊ฐ์ํํฉ๋๋ค.
- ์ถ์ ์๊ฐ ๋จ์ถ: ๋น๋, ํ ์คํธ ๋ฐ ๋ฐฐํฌ ํ๋ก์ธ์ค์ ์๋ํ๋ ์๋ ๊ฐ์ ์ ํฌ๊ฒ ์ค์ด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต ํ์ดํ๋ผ์ธ์ ๊ฐ์ํํ์ฌ ์ต์ข ์ฌ์ฉ์์ ์ ํ ๊ฐ์ฉ์ฑ์ ๋์ฑ ๋น ๋ฅด๊ฒ ํด์ค๋๋ค.
- ํ์ฅ์ฑ: ์ํ ๋น์ ์ฅ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ Go์ ๊ฐ์ ์ปดํ์ผ๋ ์ธ์ด๋ฅผ ์ฌ์ฉํ๋ฉด AppMaster ํ๋ซํผ์์ ์์ฑ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ด ๊ด๋ฒ์ํ ๊ธฐ์ ๋ฐ ๊ณ ๋ถํ ์ฌ์ฉ ์ฌ๋ก์ ๋ง๋ ๋๋ผ์ด ํ์ฅ์ฑ์ ์ ๊ณตํ๋๋ก ๋ณด์ฅํฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ๋ ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ์ ํ์์ ์ธ ์ธก๋ฉด์ผ๋ก, ์ ํ๋ฆฌ์ผ์ด์ ํ์ง, ๊ฐ๋ฐ์ ์์ฐ์ฑ ๋ฐ ์ถ์ ๊ธฐ๊ฐ ์ธก๋ฉด์์ ๋ค์ํ ์ด์ ์ ์ ๊ณตํฉ๋๋ค. AppMasterno-code ํ๋ซํผ ๋ด์ CI/CD ๊ตฌ์ฑ ๊ด๋ฆฌ ๋ชจ๋ฒ ์ฌ๋ก๋ฅผ ์๋ฒฝํ๊ฒ ํตํฉํจ์ผ๋ก์จ ๋ค์ํ ๊ณ ๊ฐ์ด ์ ๋ก ์๋ ์๋์ ํจ์จ์ฑ์ผ๋ก ํ์ฅ ๊ฐ๋ฅํ ๊ณ ํ์ง ์น, ๋ชจ๋ฐ์ผ ๋ฐ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค๊ณ ์ ์ง ๊ด๋ฆฌํ ์ ์๋๋ก ํ์ต๋๋ค.