์ด๊ฒ ๋ญ๋ฐ? ๐ค
์ค๋์ ๊นํ๋ธ ์ก์ (GitHub Actions)์ ๋ํ ํ ๊ฐ๋ฐ์์ ์ด์ ์ ์ธ(?) ์ฆ์คํธ์ง๋ฅผ ๋ค๋ค๋ณผ๊ฒ. ์ด ๊ธ์ xlii.space์์ ๋์จ ๊ฑด๋ฐ, ์์ฑ์๊ฐ ๊นํ๋ธ ์ก์ ์ ์ฌ์ฉํ๋ฉด์ ๊ฒช์ ์ง์ฅ ๊ฐ์ ๊ฒฝํ์ ์์ํ๊ฒ ์ ํด์ฃผ๊ณ ์์ด.
๋จผ์ ๊นํ๋ธ ์ก์ ์ด ๋ญ์ง ๋ชจ๋ฅด๋ฉด ์ดํดํ๊ธฐ ํ๋ค ํ ๋๊น ๊ฐ๋จํ ์ค๋ช ํ ๊ฒ:
- ๊นํ๋ธ ์ก์ ์ ๊นํ๋ธ์์ ์ ๊ณตํ๋ CI/CD(์ง์์ ํตํฉ/๋ฐฐํฌ) ๋๊ตฌ์ผ.
- ์ฝ๋๋ฅผ ๊นํ๋ธ์ ํธ์ํ๋ฉด ์๋์ผ๋ก ํ ์คํธ๋ฅผ ๋๋ฆฌ๊ณ , ๋น๋๋ฅผ ํ๊ณ , ๋ฐฐํฌ๊น์ง ํด์ฃผ๋ ๊ทธ๋ฐ ์์คํ ์ด์ง.
- YAML ํ์ผ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ์ ์ํด์ ์ฌ์ฉํด.
๊ทผ๋ฐ ์ด ์์ฑ์๋ ์ด๊ฑธ ์ฌ์ฉํ๋ฉด์ ์ ์ ์ ์ผ๋ก ๋ง์ด ํผํํด์ก๋๋ด. ํนํ ํฌ๋ก์ค ํ๋ซํผ ๋น๋๋ฅผ ํ๋ค๊ฐ ๊ฒช์ ๋ฌธ์ ๋๋ฌธ์ ์์ ํ ํญ๋ฐํ ๊ฑฐ์ผ.
์์ฑ์๋ ์์ ์ ํ๋ก์ ํธ tmplr (ํ
ํ๋ฆฟ ํ์ผ ์์ฑ ๋๊ตฌ)์์ build.rs๋ฅผ ์ฌ์ฉํด์ ๋ฌธ์๋ค์ ์๋ ์์ฑํ๋ ค๊ณ ํ์ด. ๊ทธ๋ฐ๋ฐ ์ด ๊ณผ์ ์์ CUE๋ผ๋ ๋๊ตฌ๋ฅผ ์ฌ์ฉํด์ผ ํ๋๋ฐ, ๊นํ๋ธ ์ก์
์์ Linux ARM ํ๊ฒฝ์์๋ง ์ด ๋๊ตฌ๊ฐ ์ค์น๋์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฑฐ์ผ.
์ด๊ฒ ์ ๋ฌธ์ ๋๋ฉด:
- ์์ฑ์๋ 4๊ฐ์ ํ๋ซํผ (Linux ARM, macOS ARM, Linux x86_64, macOS x86_64)์์ ๋น๋๋ฅผ ํด์ผ ํด.
- ๊ทธ๋ฐ๋ฐ Linux ARM ํ๊ฒฝ์์๋ง
CUE๊ฐ ์ค์น๋์ง ์๋ ๊ฑฐ์ผ. - ๊นํ๋ธ ์ก์ ์ ๋งคํธ๋ฆญ์ค ๋น๋ ์์คํ ์ด ๊ฐ ํ๊ฒฝ์ ์์ ํ ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํ๋ค ๋ณด๋, x86_64์ฉ ๋ฐ์ด๋๋ฆฌ๊ฐ ARM ํ๊ฒฝ์์ ๋ณด์ด์ง ์๋ ๋ฌธ์ ์์ด.
๊ฒฐ๊ณผ์ ์ผ๋ก ์์ฑ์๋ ๋งค๋ฒ CI๊ฐ ์คํจํ ๋๋ง๋ค 2-3๋ถ์ฉ ๊ธฐ๋ค๋ฆฌ๋ฉฐ YAML ํ์ผ์ ์์ ํ๊ณ , ํธ์ํ๊ณ , ๋ค์ ์คํจํ๊ณ ...๋ฅผ ๋ฐ๋ณตํด์ผ ํ์ด. ์ด๊ฑฐ ์ง์ง 2026๋ ์ธ๋ฐ ์นด์ธํธ ํ ์ดํ ์๋์ฒ๋ผ ๋๋ฆฐ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๊ฒฝํํ ๊ฑฐ์ผ.
ํต์ฌ ๋ด์ฉ ์ ๋ฆฌ ๐
์์ฑ์๊ฐ ๊นํ๋ธ ์ก์ ์ ์ซ์ดํ๋ ์ด์ ์ ๊ทธ ๊ณผ์ ์์ ๊ฒช์ ์ผ๋ค์ ์ ๋ฆฌํด๋ณผ๊ฒ:
-
ํฌ๋ก์ค ํ๋ซํผ ๋น๋์ ์ง์ฅ: ๊นํ๋ธ ์ก์ ์ ๋งคํธ๋ฆญ์ค ๋น๋ ์์คํ ์ด ๊ฐ ํ๋ซํผ์ ์์ ํ ๋ถ๋ฆฌํด์ ๊ด๋ฆฌํ๋ค ๋ณด๋, ํ ํ๊ฒฝ์์ ์ค์น๋ ๋๊ตฌ๊ฐ ๋ค๋ฅธ ํ๊ฒฝ์์๋ ๋ณด์ด์ง ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํด. ํนํ Linux ARM์์ x86_64 ๋ฐ์ด๋๋ฆฌ๊ฐ ๋ณด์ด์ง ์์์ ๋น๋๊ฐ ์คํจํ ๊ฑฐ์ผ.
-
๋๋ฆฐ ํผ๋๋ฐฑ ๋ฃจํ: ๋งค๋ฒ YAML ํ์ผ์ ์์ ํ๊ณ ํธ์ํ ํ, ๋น๋๊ฐ ์คํจํ๋ ๊ฑธ ํ์ธํ๋ ๋ฐ 2-3๋ถ์ฉ ์์๋ผ. ์ด๊ฑฐ ์ง์ง 2026๋ ์ธ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ์นด์ธํธ ํ ์ดํ ์๋์ฒ๋ผ ๋๋ฆฐ ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๊ฒฝํํ ๊ฑฐ์ผ.
-
๋๋ฒ๊น ์ ์ด๋ ค์: ๊นํ๋ธ ์ก์ ์ ๋ก์ปฌ์์ ํ ์คํธํ๊ธฐ ์ด๋ ค์. ๋ก์ปฌ ๋ฌ๋๊ฐ ์๊ฑฐ๋, ํธ์ ํ ๋ฐ๋ก ํผ๋๋ฐฑ์ ๋ฐ์ ์ ์๋ ๋ฐฉ๋ฒ์ด ์์ด์ ๋งค๋ฒ ๊นํ๋ธ์ ํธ์ํ๊ณ ๊ธฐ๋ค๋ ค์ผ ํด.
-
YAML ์ง์ฅ: ๊นํ๋ธ ์ก์ ์ YAML ํ์ผ๋ก ์ํฌํ๋ก์ฐ๋ฅผ ์ ์ํ๋๋ฐ, ์ด YAML ํ์ผ์ ์์ ํ๊ณ ํ ์คํธํ๋ ๊ณผ์ ์ด ์ ๋ง ๋ฒ๊ฑฐ๋ก์. ํนํ ๋งคํธ๋ฆญ์ค ๋น๋ ๊ฐ์ ๋ณต์กํ ์ค์ ์ ๋ค๋ฃฐ ๋ ๋๋์ฑ.
-
ํด๊ฒฐ ๋ฐฉ๋ฒ: ๊ฒฐ๊ตญ ์์ฑ์๋
build.rs๋ฅผ ์ญ์ ํ๊ณ , ๋ชจ๋ ๋ฌธ์ ์์ฑ ์์ ์ GNU Makefile๋ก ์ฎ๊ฒผ์ด. ๊ทธ๋ฆฌ๊ณ ์์ฑ๋ ํ์ผ๋ค์ ์ง์ ๋ ํฌ์งํ ๋ฆฌ์ ์ปค๋ฐํด์ CI์์ ๋น๋ํ ๋ ๋ฌธ์ ์์ด ๋์ํ๊ฒ ํ์ด. -
๊นํ๋ธ ์ก์ ์ ์ฅ์ : ๊ทธ๋ผ์๋ ๋ถ๊ตฌํ๊ณ ๊นํ๋ธ ์ก์ ์ macOS ๋น๋ ๊ฐ์ ํน์ ํ๊ฒฝ์์ ๋น๋๋ฅผ ์ฝ๊ฒ ํ ์ ์๋ ์ฅ์ ์ด ์์ด. ๋ค๋ฅธ ์์คํ ์ผ๋ก ์ฝ๊ฒ ๋์ฒดํ๊ธฐ ์ด๋ ค์.
-
๊ฒฐ๋ก : ๊นํ๋ธ ์ก์ ์ ๋ก์ง์ ๊ด๋ฆฌํ์ง ๋ง๊ณ , ๋จ์ํ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํ๋ ์ฉ๋๋ก๋ง ์ฌ์ฉํด์ผ ํด. ๋ณต์กํ ๋ก์ง์ ์ง์ ๊ด๋ฆฌํ๊ณ , ๊นํ๋ธ ์ก์ ์ ๋จ์ํ ๊ทธ ์คํฌ๋ฆฝํธ๋ฅผ ์คํํ๋ ์ญํ ๋ง ํ๊ฒ ํ๋ ๊ฒ ์ข์.
๊ทธ๋์ ๋ญ๊ฐ ๋ฌ๋ผ์ง๋๋ฐ? ๐ฅ
์ด ๊ธ์์ ์ฐ๋ฆฌ๋ ๊นํ๋ธ ์ก์ ์ ์ค์ ์ฌ์ฉ ๊ฒฝํ๊ณผ ๊ทธ ํ๊ณ๋ฅผ ์์ํ๊ฒ ๋ณผ ์ ์์ด. ํนํ ํฌ๋ก์ค ํ๋ซํผ ๋น๋๋ ๋ณต์กํ ์ํฌํ๋ก์ฐ๋ฅผ ๋ค๋ฃฐ ๋ ๊นํ๋ธ ์ก์ ์ด ์ผ๋ง๋ ๋นํจ์จ์ ์ด๊ณ ์คํธ๋ ์ค๋ฅผ ์ ๋ฐํ๋์ง ์ ์ ์์ด.
์ด๊ฒ ์ฐ๋ฆฌํํ ์ด๋ค ์ํฅ์ ๋ฏธ์น๋๋ฉด:
-
CI/CD ๋๊ตฌ ์ ํ ์ ์ฃผ์: ๊นํ๋ธ ์ก์ ์ด ํธ๋ฆฌํด ๋ณด์ด์ง๋ง, ๋ณต์กํ ๋น๋ ํ๊ฒฝ์์๋ ์คํ๋ ค ์์ฐ์ฑ์ ๋จ์ด๋จ๋ฆด ์ ์์ด. ๋ค๋ฅธ CI/CD ๋๊ตฌ๋ค(์: GitLab CI, CircleCI, Jenkins ๋ฑ)์ ๊ณ ๋ คํด๋ณด๋ ๊ฒ๋ ์ข์.
-
๋ก์ปฌ ํ ์คํธ์ ์ค์์ฑ: ๊นํ๋ธ ์ก์ ์ฒ๋ผ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ CI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ๋๋ ๋ก์ปฌ์์ ๋จผ์ ํ ์คํธํ ์ ์๋ ํ๊ฒฝ์ ๋ง๋๋ ๊ฒ ์ค์ํด. ์๋ฅผ ๋ค์ด, Docker๋ฅผ ์ฌ์ฉํด์ ๋ก์ปฌ์์ ๋น๋ ํ๊ฒฝ์ ์๋ฎฌ๋ ์ด์ ํ ์ ์์ด.
-
YAML ๊ด๋ฆฌ ์ ๋ต: ๊นํ๋ธ ์ก์ ์ YAML ํ์ผ์ ๊ด๋ฆฌํ ๋๋ ์๊ณ ๋จ์ํ๊ฒ ์ ์งํ๋ ๊ฒ ์ข์. ๋ณต์กํ ๋ก์ง์ ์ธ๋ถ ์คํฌ๋ฆฝํธ๋ก ๋ถ๋ฆฌํ๊ณ , ๊นํ๋ธ ์ก์ ์ ๊ทธ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํ๋ ์ญํ ๋ง ํ๊ฒ ํ๋ ๊ฑฐ์ผ.
-
๋ฐ์ด๋ธ์ฝ๋ฉ ๊ด์ : AI ์ฝ๋ฉ์ ํ ๋๋ CI/CD ํ์ดํ๋ผ์ธ์ ๊ณ ๋ คํด์ผ ํด. AI๊ฐ ์์ฑํ ์ฝ๋๊ฐ ๋ค์ํ ํ๊ฒฝ์์ ์ ๋์ํ๋์ง ํ ์คํธํ๋ ๊ฑด ์ ๋ง ์ค์ํด. ๊นํ๋ธ ์ก์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ๋๋ ๋ก์ปฌ ํ ์คํธ์ ๊ฐ๋จํ ์ํฌํ๋ก์ฐ๋ฅผ ์ ์งํ๋ ๊ฒ ์ข์.
MAX5์ ์๊ฐ ๐ฏ
์ด ๊ธ์ ์ฝ์ผ๋ฉด์ ๋ฐ์ด๋ธ์ฝ๋ฉ์ ํ ๋ CI/CD๋ฅผ ์ด๋ป๊ฒ ๋ค๋ค์ผ ํ ์ง ๋ง์ด ์๊ฐํ๊ฒ ๋์ด. ํนํ AI๊ฐ ์์ฑํ ์ฝ๋๋ฅผ ๋ค์ํ ํ๊ฒฝ์์ ํ ์คํธํ๊ณ ๋ฐฐํฌํ ๋, ๊นํ๋ธ ์ก์ ๊ฐ์ ๋๊ตฌ๋ฅผ ์ด๋ป๊ฒ ํจ์จ์ ์ผ๋ก ์ฌ์ฉํ ์ ์์์ง ๊ณ ๋ฏผํด๋ณผ ์ ์์ด.
-
AI ์ฝ๋ฉ๊ณผ CI/CD: AI๊ฐ ์ฝ๋๋ฅผ ์์ฑํด์ฃผ๋ฉด, ๊ทธ ์ฝ๋๊ฐ ๋ค์ํ ํ๊ฒฝ์์ ์ ๋์ํ๋์ง ํ ์คํธํ๋ ๊ฑด ์ ๋ง ์ค์ํด. ๊นํ๋ธ ์ก์ ์ ์ฌ์ฉํ ๋๋ ๋ก์ปฌ์์ ๋จผ์ ํ ์คํธํ๊ณ , ๊ฐ๋จํ ์ํฌํ๋ก์ฐ๋ฅผ ์ ์งํ๋ ๊ฒ ์ข์.
-
๋ก์ปฌ ํ ์คํธ ํ๊ฒฝ: ๊นํ๋ธ ์ก์ ์ฒ๋ผ ํด๋ผ์ฐ๋ ๊ธฐ๋ฐ CI ๋๊ตฌ๋ฅผ ์ฌ์ฉํ ๋๋ Docker๋ ๋ก์ปฌ ๋ฌ๋๋ฅผ ์ฌ์ฉํด์ ๋จผ์ ํ ์คํธํด๋ณด๋ ๊ฒ ์ข์. ์ด๋ ๊ฒ ํ๋ฉด ํผ๋๋ฐฑ ๋ฃจํ๋ฅผ ๋น ๋ฅด๊ฒ ๋ง๋ค ์ ์์ด.
-
YAML ๊ด๋ฆฌ: ๊นํ๋ธ ์ก์ ์ YAML ํ์ผ์ ๊ด๋ฆฌํ ๋๋ ์๊ณ ๋จ์ํ๊ฒ ์ ์งํ๋ ๊ฒ ์ข์. ๋ณต์กํ ๋ก์ง์ ์ธ๋ถ ์คํฌ๋ฆฝํธ๋ก ๋ถ๋ฆฌํ๊ณ , ๊นํ๋ธ ์ก์ ์ ๊ทธ ์คํฌ๋ฆฝํธ๋ฅผ ํธ์ถํ๋ ์ญํ ๋ง ํ๊ฒ ํ๋ ๊ฑฐ์ผ.
-
clauders.ai ์คํฐ๋: ์ด ๊ธ์ ์ฝ์ผ๋ฉด์ ๊นํ๋ธ ์ก์ ์ ํ๊ณ์ ๋์์ ๋ํด ์ด์ผ๊ธฐํด๋ณด๋ฉด ์ข์ ๊ฒ ๊ฐ์. ํนํ ๋ฐ์ด๋ธ์ฝ๋ฉ์ ํ ๋ CI/CD๋ฅผ ์ด๋ป๊ฒ ๋ค๋ค์ผ ํ ์ง ํจ๊ป ๊ณ ๋ฏผํด๋ณด๋ ๊ฑด ์ด๋จ๊น?