์‹œ์ž‘ํ•˜๋ฉฐ

CI๊ตฌ์„ฑ์„ ์–ด๋–ค ์‹์œผ๋กœ ํ•˜๊ณ  ๊ณ„์‹ ๊ฐ€์š”? CI๋ž€ ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ์ž๋™ํ™” ํ”„๋กœ์„ธ์Šค์ธ ์ง€์†์ ์ธ ํ†ตํ•ฉ(Continuous Intergration)์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ง€์†์  ํ†ตํ•ฉ์ด ์ž˜ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š” ๊ฒฝ์šฐ ์ฝ”๋“œ ๋ณ€๊ฒฝ ์‚ฌํ•ญ์ด ์ƒ๊ฒผ์„ ๋•Œ ์ •๊ธฐ์ ์œผ๋กœ ๋นŒ๋“œ ๋˜๋Š” ํ…Œ์ŠคํŠธ๋ฅผ ๊ฑฐ์ณ ๋ฆฌํฌ์ง€ํ† ๋ฆฌ์— ๋ณ‘ํ•ฉ๋ฉ๋‹ˆ๋‹ค.
์ด ์™ธ์—๋„ CI๋Š” ์ฝ”๋“œ ํฌ๋งทํŒ…์ด๋‚˜ Storybook์„ ๋ฐฐํฌํ•˜๋Š” ์šฉ๋„๋กœ ์“ฐ์ผ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.

๋ฌธ์ œ๋Š” ๋ฌด์—‡์ธ๊ฐ€

์Šคํฌ๋ฆฐ์ƒท 2023-04-12 ์˜ค์ „ 11.05.08.png ๋””์ž์ธ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•˜๋ฉฐ Storybook๊ณผ ํ•จ๊ป˜ Chromatic์ด๋ผ๋Š” ํˆด์„ ์ฑ„ํƒํ•ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. Chromatic์€ UI ์ปดํฌ๋„ŒํŠธ ๊ฐœ๋ฐœ ๊ณผ์ •์—์„œ ํ”ผ๋“œ๋ฐฑ๊ณผ ์˜๊ฒฌ ์ˆ˜์ง‘์„ ๋•๋Š” ํˆด๋กœ Storybook๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•  ๊ฒฝ์šฐ ํฐ ์‹œ๋„ˆ์ง€ ํšจ๊ณผ๋ฅผ ๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
Chromatic์€ ๋งค ์ž‘์—…๋ฌผ๋งˆ๋‹ค ๊ณ ์œ ์˜ ๋งํฌ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ ๋””์ž์ด๋„ˆ์™€์˜ ํ”ผ๋“œ๋ฐฑ์ด ๊ฐ€๋Šฅํ•œ ํˆด์ž…๋‹ˆ๋‹ค. ๋””์ž์ธ ๋ฆฌ๋ทฐ๊ณ„์˜ Pull Reqeust๋ผ๊ณ  ์ƒ๊ฐํ•˜๋ฉด ์ดํ•ด๊ฐ€ ์‰ฝ์Šต๋‹ˆ๋‹ค. ๋ฌธ์ œ๋Š” ์ž‘์—…๋ฌผ์„ Chromatic ๋ฐฐํฌํ•˜๋Š”๋ฐ๊นŒ์ง€ ์•ฝ 3๋ถ„์ด ๋„˜๋Š” ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ž‘์—…๋ฌผ ํ•˜๋‚˜์— 3๋ถ„์ด๋ผ๋ฉด ๊ธฐ๋‹ค๋ฆด ์ˆ˜ ์žˆ๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ƒ๊ฐ๋  ์ˆ˜ ์žˆ์ง€๋งŒ ์ปดํฌ๋„ŒํŠธ ๋‹จ์œ„๋กœ ์ƒˆ๋กœ์šด ์ž‘์—…๋ฌผ์ด ๋ฐœ์ƒํ•˜๋Š” ๋””์ž์ธ ์‹œ์Šคํ…œ์˜ ๊ฒฝ์šฐ ๋ฐฐํฌ๋กœ ์ธํ•ด ๋ฐœ์ƒ๋˜๋Š” ์ง€์—ฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

ํ•ด๊ฒฐ ๊ณผ์ •

์˜์กด์„ฑ ์บ์‹ฑ

๋จผ์ € ์ฒซ๋ฒˆ์งธ๋กœ ์‹œ๋„ํ•œ ๋ฐฉ๋ฒ•์€ ์‚ฌ์šฉํ•˜๋Š” ์˜์กด์„ฑ์„ ์บ์‹ฑํ•ด๋‘๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. Github Actions์—๋Š” ์บ์‹ฑ์„ ํ•  ์ˆ˜ ์žˆ๋Š” ๊ณต๊ฐ„์ด ์กด์žฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ์ง€์ •ํ•œ ๋‹จ์œ„๋ณ„๋กœ ์บ์‹ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ €์˜ ๊ฒฝ์šฐ ๋ธŒ๋žœ์น˜ ๋‹จ์œ„๋กœ ์˜์กด์„ฑ์„ ์บ์‹ฑํ–ˆ์–ด์š”. img_2.png ์บ์‹ฑ ํ•˜์ง€ ์•Š์•˜์„ ๋•Œ yarn install ๋ช…๋ น์–ด๊ฐ€ ์‹คํ–‰๋˜๋Š” Install dependencies ๋‹จ๊ณ„์˜ ์†Œ์š” ์‹œ๊ฐ„์€ ์•ฝ 1๋ถ„ ๊ฐ€๋Ÿ‰์ด์—ˆ์Šต๋‹ˆ๋‹ค. ์„ค์น˜๋๋˜ ์˜์กด์„ฑ์„ ์บ์‹ฑํ•ด๋‘์—ˆ๋‹ค๊ฐ€ ๋˜ ๋‹ค์‹œ CI๊ฐ€ ๋ฐœ์ƒ๋˜๋ฉด ๊ทธ ๊ฒฐ๊ณผ๋Š” ์•„๋ž˜์™€ ๊ฐ™์Šต๋‹ˆ๋‹ค. img_3.png ์บ์‹ฑ๋œ node_modules๋ฅผ ๊ฐ€์ ธ์˜ค๊ฒŒ ๋˜๊ณ  Install dependencies ๋‹จ๊ณ„๊ฐ€ ์ƒ๋žต๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ Cache๋ฅผ ํ™•์ธํ•˜๊ณ  ์„ค์น˜๊นŒ์ง€์˜ ์†Œ์š”์‹œ๊ฐ„์ด ๋‹จ 6์ดˆ๋กœ ๋‹จ์ถ•๋ฉ๋‹ˆ๋‹ค. ์ž‘์—…๋ฌผ์„ ์ฒ˜์Œ ํ‘ธ์‹œํ•  ๊ฒฝ์šฐ์—๋Š” ์บ์‹ฑ๋˜์–ด ์žˆ๋Š” ์˜์กด์„ฑ์ด ์—†๊ธฐ ๋•Œ๋ฌธ์— ์ฒซ ์ˆ˜ํ–‰๋•Œ๋Š” ๋ฌด์กฐ๊ฑด์ ์œผ๋กœ ์˜์กด์„ฑ ์„ค์น˜ ์‹œ๊ฐ„์ด ์†Œ์š”๋œ๋‹ค๋Š” ์ ์ด ์žˆ์ง€๋งŒ, ์ง€์†์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” CI ์‹œ๊ฐ„์„ ์ค„์ผ ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์—์„œ ์˜์กด์„ฑ ์บ์‹ฑ์€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค.

๊ทธ๋ž˜์„œ ๊ฒฐ๊ณผ๋Š”

์Šคํฌ๋ฆฐ์ƒท 2023-04-12 ์˜ค์ „ 11.46.25.png ์ˆ˜์น˜๋กœ ๋ณด์ž๋ฉด ์•ฝ 2๋ถ„ ๊ฐ€๋Ÿ‰ ์ค„์—ˆ์ง€๋งŒ ์•„์ง๋„ Chromtaic ๋ฐฐํฌ์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์ด ์•ฝ 1๋ถ„ ๊ฐ€๋Ÿ‰ ๊ฑธ๋ฆฝ๋‹ˆ๋‹ค. ๋‹จ์ถ•๋œ 2๋ถ„์€ ์˜์กด์„ฑ ์„ค์น˜ ๊ณผ์ •์— ์†Œ์š”๋˜๋Š” ์‹œ๊ฐ„์œผ๋กœ ์ƒ๊ฐํ•˜์‹œ๋ฉด ๋  ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค. Chromatic์€ ์ž‘์—…๋ฌผ์˜ ๋ณ€๊ฒฝ์ ์„ ํ™•์ธ์‹œ์ผœ์ฃผ๋Š” ๋„๊ตฌ์ด๊ธฐ ๋•Œ๋ฌธ์— ์บ์‹ฑ์œผ๋กœ ํ•ด๊ฒฐํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค. ์˜์กด์„ฑ ์บ์‹ฑ ์™ธ์— CI ์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ์กฐ๊ธˆ ๋” ์ƒ๊ฐํ•ด๋ณผ ํ•„์š”๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

๋งˆ์น˜๋ฉฐ