CI/CD(์ง€์†์  ํ†ตํ•ฉ ๋ฐ ์ง€์†์ ์ธ ๋ฐฐํฌ)์˜ ๋งฅ๋ฝ์—์„œ "CI/CD ์•„ํ‹ฐํŒฉํŠธ"๋ผ๋Š” ์šฉ์–ด๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋นŒ๋“œ ๋ฐ ํŒจํ‚ค์ง• ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฐ๊ณผ๋ฅผ ๋‚˜ํƒ€๋ƒ…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฐ๊ณผ๋กœ ์ƒ์„ฑ๋˜๋ฉฐ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋ฐ ๊ด€๋ฆฌ์— ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค. ํฌ๊ด„์ ์ธ no-code ํ”Œ๋žซํผ ๋ฐ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์—์ฝ”์‹œ์Šคํ…œ์ธ AppMaster ์›น, ๋ชจ๋ฐ”์ผ ๋ฐ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ CI/CD ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ„์†Œํ™”ํ•˜์—ฌ ๋ชจ๋“  ๊ทœ๋ชจ์˜ ๊ธฐ์—…์— ํƒ์›”ํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ์„ฑ๋Šฅ, ํšจ์œจ์ ์ธ ๋ฐฐํฌ ๋ฐ ์ƒ๋‹นํ•œ ๋น„์šฉ ์ ˆ๊ฐ์„ ๋ณด์žฅํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์Šต๋‹ˆ๋‹ค.

CI/CD ์•„ํ‹ฐํŒฉํŠธ๋Š” ํฌ๊ฒŒ ๋„ค ๊ฐ€์ง€ ๋ฒ”์ฃผ๋กœ ๋ถ„๋ฅ˜ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  1. ์†Œ์Šค ์ฝ”๋“œ ์•„ํ‹ฐํŒฉํŠธ: ์—ฌ๊ธฐ์—๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์ปดํŒŒ์ผ, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ์— ํ•„์ˆ˜์ ์ธ ํ”„๋กœ์ ํŠธ์˜ ์ตœ์‹  ์†Œ์Šค ์ฝ”๋“œ, ๊ณต์œ  ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๋ฐ ์ข…์†์„ฑ์ด ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ๋Š” ๋ณ€๊ฒฝ ๊ธฐ๋ก์„ ์œ ์ง€ํ•˜๊ณ  ์›ํ™œํ•œ ํ˜‘์—…์„ ๋ณด์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ผ๋ฐ˜์ ์œผ๋กœ ๋ฒ„์ „ ์ œ์–ด ์‹œ์Šคํ…œ(VCS)์„ ์‚ฌ์šฉํ•˜์—ฌ ๋ฒ„์ „์„ ์ œ์–ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  2. ์ปดํŒŒ์ผ ๋ฐ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ์•„ํ‹ฐํŒฉํŠธ: ์ž๋™ํ™”๋œ ๋นŒ๋“œ ํ”„๋กœ์„ธ์Šค์˜ ๊ฒฐ๊ณผ์ธ ๋ฐ”์ด๋„ˆ๋ฆฌ(์ปดํŒŒ์ผ๋œ) ํŒŒ์ผ๊ณผ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ํ”„๋กœ๊ทธ๋žจ์œผ๋กœ ๊ตฌ์„ฑ๋œ ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์‹คํ–‰ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด AppMaster ์ƒ์„ฑ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฐฑ์—”๋“œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Go(Golang)๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๊ตฌ์ถ•๋˜๊ณ , ์›น ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Vue3 ํ”„๋ ˆ์ž„์›Œํฌ์™€ JavaScript/TypeScript๋ฅผ ํ™œ์šฉํ•˜๋ฉฐ, ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ Android์šฉ Kotlin ๋ฐ Jetpack Compose ์™€ iOS์šฉ SwiftUI ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.
  3. ๊ตฌ์„ฑ ์•„ํ‹ฐํŒฉํŠธ: ์†Œํ”„ํŠธ์›จ์–ด์˜ ์˜ฌ๋ฐ”๋ฅธ ์ž‘๋™ ๋ฐ ๋ฐฐํฌ์— ํ•„์š”ํ•œ ํ•„์ˆ˜ ๊ตฌ์„ฑ ํŒŒ์ผ, ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ๋ฐ ์„ค์ •์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์˜ ์†Œ์Šค ์ฝ”๋“œ์™€ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•˜๋ฉฐ ๋ณด์•ˆ์ƒ์˜ ์ด์œ ๋กœ ๋…๋ฆฝ์ ์œผ๋กœ ๋ฒ„์ „์ด ๊ด€๋ฆฌ๋˜๊ณ  ์•”ํ˜ธํ™”๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  4. ๋ฌธ์„œ ์•„ํ‹ฐํŒฉํŠธ: ์ด๋Ÿฌํ•œ ์•„ํ‹ฐํŒฉํŠธ์—๋Š” API ๋ฌธ์„œ, ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค ์Šคํ‚ค๋งˆ ๋งˆ์ด๊ทธ๋ ˆ์ด์…˜ ์Šคํฌ๋ฆฝํŠธ ๋ฐ ์†Œํ”„ํŠธ์›จ์–ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์„ฑ๊ณต์ ์œผ๋กœ ํ†ตํ•ฉ, ํ…Œ์ŠคํŠธ, ๋ฐฐํฌ ๋ฐ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๊ธฐํƒ€ ์ค‘์š”ํ•œ ์ •๋ณด๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค.

CI/CD ์•„ํ‹ฐํŒฉํŠธ๋Š” ์›ํ™œํ•œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ, ํ…Œ์ŠคํŠธ ๋ฐ ๋ฐฐํฌ๋ฅผ ๋‹ฌ์„ฑํ•˜๋Š” ๋ฐ ์ค‘์š”ํ•œ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ฐœ๋ฐœ์ž๋Š” ๊ฐœ๋ฐœ ํ”„๋กœ์„ธ์Šค ์ดˆ๊ธฐ์— ๋ฌธ์ œ๋ฅผ ํŒŒ์•…ํ•˜์—ฌ ๋ฒ„๊ทธ ๋„์ž… ์œ„ํ—˜์„ ์ค„์ด๊ณ  ๋ฐฐํฌ ์ง€์—ฐ์„ ์ตœ์†Œํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„ํ‹ฐํŒฉํŠธ ์ƒ์„ฑ, ๋ฒ„์ „ ๊ด€๋ฆฌ ๋ฐ ๊ด€๋ฆฌ์˜ ์ž๋™ํ™”๋Š” ์ตœ์‹  CI/CD ์›Œํฌํ”Œ๋กœ์˜ ํ•ต์‹ฌ ์ธก๋ฉด์œผ๋กœ, ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ํ”„๋กœ์„ธ์Šค์˜ ๋†’์€ ํ’ˆ์งˆ๊ณผ ํšจ์œจ์„ฑ์„ ์œ ์ง€ํ•˜๋Š” ๋ฐ ํ•„์ˆ˜์ ์ž…๋‹ˆ๋‹ค.

AppMasterno-code ํ”Œ๋žซํผ์—์„œ CI/CD ์•„ํ‹ฐํŒฉํŠธ๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” ํ˜์‹ ์ ์ธ ์ ‘๊ทผ ๋ฐฉ์‹์„ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค. ๊ธฐ์ˆ  ๋ถ€์ฑ„ ์™„ํ™”์— ์ดˆ์ ์„ ๋งž์ถ˜ AppMaster ์š”๊ตฌ ์‚ฌํ•ญ์ด ๋ณ€๊ฒฝ๋˜๊ฑฐ๋‚˜ ์ฒญ์‚ฌ์ง„์ด ์—…๋ฐ์ดํŠธ๋  ๋•Œ๋งˆ๋‹ค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ฒ˜์Œ๋ถ€ํ„ฐ ์ž๋™์œผ๋กœ ๋‹ค์‹œ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค์˜ ๋ชจ๋“  ๋‹จ๊ณ„์—์„œ ์ •ํ™•ํ•œ ์•„ํ‹ฐํŒฉํŠธ ์ƒ์„ฑ์ด ๊ฐ€๋Šฅํ•ด ๊ฐœ๋ฐœ์ž๊ฐ€ ์ˆ˜๋™ ๊ฐœ์ž… ๋ฐ ๋ฌธ์ œ ํ•ด๊ฒฐ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ OpenAPI(Swagger) ๋ฌธ์„œ์™€ ๊ฐ™์€ ํ•„์ˆ˜ ๋ฌธ์„œ์˜ ์ž๋™ ์ƒ์„ฑ์„ ํ†ตํ•ด ์†Œํ”„ํŠธ์›จ์–ด ๊ตฌ์„ฑ ์š”์†Œ์˜ ํšจ์œจ์ ์ธ ํ†ตํ•ฉ, ํ…Œ์ŠคํŠธ ๋ฐ ๊ด€๋ฆฌ๋ฅผ ๋ณด์žฅํ•ฉ๋‹ˆ๋‹ค.

CI/CD ์•„ํ‹ฐํŒฉํŠธ ๊ด€๋ฆฌ๋ฅผ no-code ํ”Œ๋žซํผ์— ํ†ตํ•ฉํ•จ์œผ๋กœ์จ AppMaster ์‚ฌ์šฉ์ž์—๊ฒŒ ๋ฒˆ๊ฑฐ๋กญ์ง€ ์•Š๊ณ  ๊ฐ„์†Œํ™”๋œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ์ ‘๊ทผ ๋ฐฉ์‹์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๊ธฐ์—…์€ ์†Œํ”„ํŠธ์›จ์–ด ์†”๋ฃจ์…˜์˜ ํ’ˆ์งˆ๊ณผ ํ™•์žฅ์„ฑ์„ ์ €ํ•˜์‹œํ‚ค์ง€ ์•Š์œผ๋ฉด์„œ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ํšจ์œจ์„ฑ์„ ๋†’์ด๊ณ  ๋น„์šฉ์„ ์ ˆ๊ฐํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. AppMaster ์˜ ์†”๋ฃจ์…˜์„ ์‚ฌ์šฉํ•˜๋ฉด ์‚ฌ์šฉ์ž๋Š” ๋ฒ„ํŠผ ํด๋ฆญ๋งŒ์œผ๋กœ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๊ฒŒ์‹œํ•  ์ˆ˜ ์žˆ์œผ๋ฏ€๋กœ ์ƒ์„ฑ๋œ ์•„ํ‹ฐํŒฉํŠธ์— ๋Œ€ํ•œ ์™„๋ฒฝํ•œ ๋ฐฐํฌ ๋ฐ ์—…๋ฐ์ดํŠธ ๊ธฐ๋Šฅ์„ ๋ณด์žฅํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์˜ค๋Š˜๋‚  ๋น ๋ฅด๊ฒŒ ๋ฐœ์ „ํ•˜๋Š” ์†Œํ”„ํŠธ์›จ์–ด ํ™˜๊ฒฝ์—์„œ CI/CD ์•„ํ‹ฐํŒฉํŠธ์˜ ์‹ ์†ํ•˜๊ณ  ์ •ํ™•ํ•œ ์ƒ์„ฑ, ๊ด€๋ฆฌ ๋ฐ ๋ฐฐํฌ๋Š” ๋น„์ฆˆ๋‹ˆ์Šค ์ดํ•ด๊ด€๊ณ„์ž์™€ ์ตœ์ข… ์‚ฌ์šฉ์ž์—๊ฒŒ ๊ณ ํ’ˆ์งˆ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์ œ๊ณตํ•˜๋Š” ๋ฐ ํฐ ๋ณ€ํ™”๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋›ฐ์–ด๋‚œ CI/CD ์•„ํ‹ฐํŒฉํŠธ ์ฒ˜๋ฆฌ ๊ธฐ๋Šฅ์„ ๊ฐ–์ถ˜ AppMaster ํ”Œ๋žซํผ์€ ๊ณ ๊ฐ์ด ํŒ€ ๊ทœ๋ชจ๋‚˜ ๊ธฐ์ˆ  ์ „๋ฌธ ์ง€์‹์— ๊ด€๊ณ„์—†์ด ํ™•์žฅ ๊ฐ€๋Šฅํ•œ ๋น„์ฆˆ๋‹ˆ์Šค ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ์›ํ™œํ•˜๊ฒŒ ๊ฐœ๋ฐœํ•˜๊ณ  ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. CI/CD ์•„ํ‹ฐํŒฉํŠธ ๊ด€๋ฆฌ๋ฅผ no-code ํ”Œ๋žซํผ์— ํ†ตํ•ฉํ•จ์œผ๋กœ์จ ๊ณ ๊ฐ์€ ์ตœ์ ์˜ ํšจ์œจ์„ฑ๊ณผ ๋” ๋†’์€ ํˆฌ์ž ์ˆ˜์ต์„ ์–ป์„ ์ˆ˜ ์žˆ์œผ๋ฉฐ AppMaster ์†Œํ”„ํŠธ์›จ์–ด ๊ฐœ๋ฐœ ๋ฐ ๋ฐฐํฌ ์˜์—ญ์—์„œ ํŒ๋„๋ฅผ ๋ฐ”๊พธ๋Š” ๋„๊ตฌ๋กœ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.