CI/CD ํตํฉ, ์ฆ ์ง์์ ์ธ ํตํฉ ๋ฐ ์ง์์ ์ธ ๋ฐฐํฌ๋ ํ๋ ์ํํธ์จ์ด ๊ฐ๋ฐ, ํนํ AppMasterno-code ํ๋ซํผ์ ๋งฅ๋ฝ์์ ์ค์ํ๊ณ ํ์์ ์ธ ๊ตฌ์ฑ ์์์ ๋๋ค. CI/CD ํตํฉ์ ํตํด ๊ฐ๋ฐ์๋ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ์ํํ๊ฒ ํตํฉํ๊ณ , ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ํ ์คํธํ๊ณ , ๊ฒฐ๊ณผ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ๋ก๋์ ์ ํจ์จ์ ์ผ๋ก ๋ฐฐํฌํ ์ ์์ต๋๋ค. CI/CD ํตํฉ์ ๊ธฐ๋ณธ ๋ชฉํ๋ ๊ณ ํ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ์ต์ข ์ฌ์ฉ์์๊ฒ ๋ ๋น ๋ฅธ ์๋๋ก ์ ๊ณตํ๊ธฐ ์ํ ๊ฐ์ํ๋๊ณ ์๋ํ๋๋ฉฐ ์์ ์ ์ธ ํ๋ก์ธ์ค๋ฅผ ๊ตฌ์ถํ์ฌ ๋ฏผ์ฒฉํ ๊ฐ๋ฐ์ ์ด์งํ๊ณ ์ถ์ ์๊ฐ์ ๋จ์ถํ๋ฉฐ ์ต์ ์ ์ฌ์ฉ์๋ฅผ ๋ณด์ฅํ๋ ๊ฒ์ ๋๋ค. ๊ฒฝํ.
CI(์ง์์ ํตํฉ)๋ ์ด ํ๋ก์ธ์ค์ ์ฒซ ๋ฒ์งธ ๊ตฌ์ฑ ์์๋ก, ์ผ๋ฐ์ ์ผ๋ก ํ๋ฃจ์ ์ฌ๋ฌ ๋ฒ ๋ฐ์ํ๋ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ๊ณต์ ์ ์ฅ์์ ์ ๊ธฐ์ ์ผ๋ก ์์ฃผ ํตํฉํ๋ ์์ ์ ํฌํจํฉ๋๋ค. ๊ธฐ๋ณธ์ ์ผ๋ก CI๋ ์ ๋ฌด ์๊ฐ ๋ด๋ด ์ฌ๋ฌ ํ ๊ตฌ์ฑ์์ด ์ํํ ๊ฐ๋ฐ ์์ ์ ๋ณํฉํ ํ ํตํฉ ์ฝ๋๋ฒ ์ด์ค๋ฅผ ์๋์ผ๋ก ๊ตฌ์ถํ๊ณ ํ ์คํธํ๋ ๋ฐฉ์์ ๋๋ค. ์ด๋ฌํ ๋ฐฉ์์ ํตํด ๊ฐ๋ฐ์๋ ๋ฌธ์ ๋ฅผ ์ ์ํ๊ฒ ์๋ณํ๊ณ ํด๊ฒฐํ ์ ์์ผ๋ฏ๋ก ํผ๋๋ฐฑ ๋ฃจํ๊ฐ ์ค์ด๋ค๊ณ ์๊ฐ์ด ์ง๋จ์ ๋ฐ๋ผ ์ํํธ์จ์ด ๊ฒฐํจ์ด ๋์ ๋๋ ๊ฒ์ ๋ฐฉ์งํ ์ ์์ต๋๋ค.
CD(์ง์์ ๋ฐฐํฌ)๋ ์ฝ๋ ๋ณ๊ฒฝ ์ฌํญ์ ํ๋ก๋์ ํ๊ฒฝ์ ์๋์ผ๋ก ๋ฐฐํฌํ๋ ๋ฐ ์ด์ ์ ๋ง์ถ ๋ ๋ฒ์งธ ๊ตฌ์ฑ ์์์ ๋๋ค. ์ฌ๊ธฐ์๋ ์ ํ๋ฆฌ์ผ์ด์ ๊ตฌ์ถ ๋ฐ ํจํค์ง, ํ๊ฒฝ๋ณ ์ค์ ๊ตฌ์ฑ, ๊ฐ๋ฐ, ์คํ ์ด์ง, ํ๋ก๋์ ๋ฑ ๋ค์ํ ํ๊ฒฝ์ ๋ณ๊ฒฝ ์ฌํญ ์๋ ๋ฐฐํฌ์ ๊ฐ์ ํ๋ก์ธ์ค๊ฐ ํฌํจ๋ฉ๋๋ค. CD๋ ๋ฐฐํฌ ํ๋ก์ธ์ค์์ ์๋ ๊ฐ์ ์ ์ ๊ฑฐํ์ฌ ์ธ์ ์ค๋ฅ๋ฅผ ์ค์ด๊ณ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ณต์ ๊ฐ์ํํ๊ธฐ ์ํด ๋ ธ๋ ฅํ๊ณ ์์ต๋๋ค.
CI/CD ํตํฉ์ AppMaster ๊ณ ๊ฐ์ด no-code ํ๋ซํผ์ ๋ชจ๋ ์ด์ ์ ํ์ฉํ๋ ๋ฐ ํ์์ ์ ๋๋ค. AppMaster ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ์๊ฐ์ ์ธ drag-and-drop ์ธํฐํ์ด์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐฑ์๋, ์น ๋ฐ ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ง๋ค ์ ์์ผ๋ฏ๋ก ๊ธฐ์ ์ง์์ด ์๋ ์ฌ์ฉ์๋ ์ ๊ตํ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ณด๋ค ์ฝ๊ฒ โโ๊ตฌ์ถํ ์ ์์ต๋๋ค. ํ๋ซํผ์ ์ฌ์ฉ์๊ฐ ์ฒญ์ฌ์ง์ ๋ณ๊ฒฝํ ๋๋ง๋ค ์ฒ์๋ถํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑํ๋ฏ๋ก ๋ฒ์ ๊ฐ์ ๊ธฐ์ ์ ๋ถ์ฑ๊ฐ ์ด์๋์ง ์์ต๋๋ค.
๊ณ ๊ฐ์ด AppMaster ํ๋ซํผ์์ '๊ฒ์' ๋ฒํผ์ ๋๋ฅด๋ฉด CI/CD ํ์ดํ๋ผ์ธ์ด ์์๋ฉ๋๋ค. ํ๋ซํผ์ ์๋์ผ๋ก ๋ชจ๋ ์ฒญ์ฌ์ง์ ๊ฐ์ ธ์ค๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์์ค ์ฝ๋๋ฅผ ์์ฑํ๊ณ , ์ ํ๋ฆฌ์ผ์ด์ ์ ์ปดํ์ผํ๊ณ , ํ ์คํธ๋ฅผ ์คํํ๊ณ , ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ Docker ์ปจํ ์ด๋์ ์์ถํ๊ณ , ํด๋ผ์ฐ๋์ ๋ฐฐํฌํฉ๋๋ค. ์ด ๋ชจ๋ ํ๋ก์ธ์ค๋ 30์ด ์ด๋ด์ ์คํ๋์ด AppMaster ํ๋ซํผ์ ํตํฉ CI/CD ๊ธฐ๋ฅ์ ํจ์จ์ฑ์ ์ ์ฆํฉ๋๋ค.
๋ํ AppMaster ํ๋ซํผ์ ์๋ฒ endpoints ์ฉ Swagger(OpenAPI) ๋ฌธ์ ๋ฐ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์คํค๋ง ๋ง์ด๊ทธ๋ ์ด์ ์คํฌ๋ฆฝํธ์ ๊ฐ์ ์ํํธ์จ์ด ๊ฐ๋ฐ ์ฃผ๊ธฐ์ ๋ค์ํ ์ธก๋ฉด์ ๊ด๋ฆฌํ๊ธฐ ์ํ ๋ด์ฅ ๋๊ตฌ๋ฅผ ์ง์ํฉ๋๋ค. ์ด๋ฌํ ๋๊ตฌ๋ ๊ฐ๋ฐ์ ๊ฐ์ ํ์ ์ ์ด์งํ์ฌ ํ ๋ด์์ ์ํํ๊ณ ํจ์จ์ ์ธ ์ ๋ณด ๊ณต์ ๋ฐ ํ๋ก์ธ์ค ๊ด๋ฆฌ๋ฅผ ๋ณด์ฅํฉ๋๋ค.
๊ฐ๋ ฅํ CI/CD ํตํฉ์ผ๋ก ์ธํด AppMaster ์ ์ ์๊ฑฐ๋, ๊ธ์ต, ์๋ฃ, ๊ต์ก ๋ฑ๊ณผ ๊ฐ์ ๋ค์ํ ๋๋ฉ์ธ์์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ๋ ๋ฐ ์๋ฒฝํ๊ฒ ์ ํฉํฉ๋๋ค. ์ด๋ฌํ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅ ๊ฐ๋ฅํ๊ณ ๋ค์ฉ๋์ด๋ฉฐ ํจ์จ์ฑ์ด ๋ฐ์ด๋ ๊ณ ๋ถํ ๋ฐ ๊ธฐ์ ์ฌ์ฉ ์ฌ๋ก๋ฅผ ์ฝ๊ฒ ์ง์ํ ์ ์์ต๋๋ค. AppMaster ์์ฑ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ชจ๋ PostgreSQL ํธํ ๋ฐ์ดํฐ๋ฒ ์ด์ค๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ ์ ์ฅ์๋ก ์ฌ์ฉํ ์ ์์ด ๊ณ ๊ฐ์ด ๋ฐ์ดํฐ ์ธํ๋ผ๋ฅผ ์ ํํ ๋ ์ต๋ํ์ ์ ์ฐ์ฑ์ ์ ๊ณตํฉ๋๋ค.
AppMasterno-code ํ๋ซํผ์ด์ง๋ง ์ฌ์ ํ ๋ชจ๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ํ ์์ ํ ์์ค ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ง, ์ฑ๋ฅ ๋ฐ ๊ฐ์ฌ ๊ฐ๋ฅ์ฑ์ ๋ํ ์ถ๊ฐ ๋ณด์ฆ ๊ณ์ธต์ ๊ณ ๊ฐ์๊ฒ ์ ๊ณตํ๋ค๋ ์ ์ ์ธ๊ธํ๋ ๊ฒ์ด ์ค์ํฉ๋๋ค. ์์ฑ๋ ์์ค ์ฝ๋๋ ๋ฐฑ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ Go(golang), ์น ์ ํ๋ฆฌ์ผ์ด์ ์ฉ JS/TS๊ฐ ํฌํจ๋ Vue3 ํ๋ ์์ํฌ, Android์ฉ Jetpack Compose ํฌํจ๋ Kotlin, ๋ชจ๋ฐ์ผ ์ ํ๋ฆฌ์ผ์ด์ ์ฉ iOS SwiftUI ๋ก ์์ฑ๋ฉ๋๋ค.
๊ฒฐ๋ก ์ ์ผ๋ก CI/CD ํตํฉ์ AppMasterno-code ํ๋ซํผ์ ํต์ฌ ์์ฑ์ผ๋ก, ๊ณ ๊ฐ์ด ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ํ๋ก์ธ์ค๋ฅผ 10๋ฐฐ ๊ฐ์ํํ๊ณ ๋น์ฉ์ 3๋ฐฐ ์ ๊ฐํ๋ฉฐ ์ต์ํ์ ๊ธฐ์ ๋ถ์ฑ๋ก ๊ณ ํ์ง ์ ํ๋ฆฌ์ผ์ด์ ์ ๊ฐ๋ฐํ ์ ์๋๋ก ๋ณด์ฅํฉ๋๋ค. CI/CD ํตํฉ์ ์ ํ๋ฆฌ์ผ์ด์ ๊ฐ๋ฐ ์๋ช ์ฃผ๊ธฐ์ ์ํํ๊ฒ ํตํฉํจ์ผ๋ก์จ AppMaster ๋ชจ๋ ๊ท๋ชจ์ ๊ธฐ์ ๊ณผ ๊ธฐ์ ์ด ๊ธฐ๋ก์ ์ธ ์๊ฐ ๋ด์ ์์ฅ์ ์ค๋น๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ์์ฑ ๋ฐ ๋ฐฐํฌํ์ฌ ๊ฒฝ์์ฌ๋ฅผ ๋ฅ๊ฐํ๊ณ ํ์ํ ์ ๋ฐ๋์ ์๋๋ก ์ต์ข ์ฌ์ฉ์ ๊ธฐ๋๋ฅผ ์ถฉ์กฑํ ์ ์๋๋ก ์ง์ํฉ๋๋ค.