๐Ÿ”ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์œ ์ถœ ์œ„ํ—˜๋„ ์ ์ˆ˜ ๊ณ„์‚ฐ๊ธฐ

.env ํŒŒ์ผ ๊ด€๋ฆฌ ๋ฐฉ์‹ ๊ธฐ๋ฐ˜ ๋ณด์•ˆ ์œ„ํ—˜ ์ ์ˆ˜ ์‚ฐ์ถœ

ํ™˜๊ฒฝ ๋ณ€์ˆ˜ ์œ ์ถœ ์œ„ํ—˜๋„, ์™œ ์ ์ˆ˜๋กœ ํ™•์ธํ•ด์•ผ ํ• ๊นŒ?

.env ํŒŒ์ผ์€ API ํ‚ค, DB ๋น„๋ฐ€๋ฒˆํ˜ธ, ํ† ํฐ ๋“ฑ ๋ฏผ๊ฐํ•œ ์ •๋ณด๋ฅผ ๋‹ด๊ณ  ์žˆ์ง€๋งŒ, ๊ด€๋ฆฌ๊ฐ€ ๋А์Šจํ•ด์ง€๊ธฐ ์‰ฌ์šด ์˜์—ญ์ž…๋‹ˆ๋‹ค. git ์ปค๋ฐ‹ ํžˆ์Šคํ† ๋ฆฌ์— ์‹ค์ˆ˜๋กœ ๋‚จ๊ฑฐ๋‚˜, ์Šฌ๋ž™์œผ๋กœ ๊ณต์œ ๋˜๊ฑฐ๋‚˜, ํ‰๋ฌธ ๊ทธ๋Œ€๋กœ CI/CD์— ์ €์žฅ๋˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ํ”ํ•ฉ๋‹ˆ๋‹ค. ์ด ๊ณ„์‚ฐ๊ธฐ๋Š” 6๊ฐ€์ง€ ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋กœ ํŒ€์˜ .env ๊ด€๋ฆฌ ์Šต๊ด€์„ ์ ์ˆ˜ํ™”ํ•˜์—ฌ ์œ„ํ—˜ ์ˆ˜์ค€์„ ์ง„๋‹จํ•ฉ๋‹ˆ๋‹ค.

์ ์ˆ˜๋Š” 100์  ๋งŒ์ ์œผ๋กœ, git ์ปค๋ฐ‹ ์ด๋ ฅ(25์ )๊ณผ .gitignore ๋ฏธ๋“ฑ๋ก(20์ )์ด ๊ฐ€์žฅ ํฐ ๋น„์ค‘์„ ์ฐจ์ง€ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๋ฒˆ์ด๋ผ๋„ git ํžˆ์Šคํ† ๋ฆฌ์— ๋น„๋ฐ€ํ‚ค๊ฐ€ ๋‚จ์•˜๋‹ค๋ฉด rebase๋‚˜ ์‚ญ์ œ๋งŒ์œผ๋กœ๋Š” ์™„์ „ํžˆ ์ง€์›Œ์ง€์ง€ ์•Š์œผ๋ฏ€๋กœ, ํ‚ค ์ž์ฒด๋ฅผ ์ฆ‰์‹œ ์žฌ๋ฐœ๊ธ‰ํ•˜๋Š” ๊ฒƒ์ด ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค. ์Šฌ๋ž™ยท์ด๋ฉ”์ผ ๊ณต์œ (20์ ) ์—ญ์‹œ ๋กœ๊ทธ๊ฐ€ ์˜๊ตฌ์ ์œผ๋กœ ๋‚จ๊ธฐ ๋•Œ๋ฌธ์— ์œ„ํ—˜๋„๊ฐ€ ๋†’๊ฒŒ ์ฑ…์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.

์ ์ˆ˜๊ฐ€ 40์ ์„ ๋„˜๋Š”๋‹ค๋ฉด Vault, AWS Secrets Manager, Doppler ๊ฐ™์€ ์ „์šฉ ๋„๊ตฌ ๋„์ž…์„ ๊ฒ€ํ† ํ•˜๊ณ , ์ •๊ธฐ์ ์ธ ํ‚ค ๊ต์ฒด ์ •์ฑ…์„ ์ˆ˜๋ฆฝํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ์ฒดํฌ๋ฆฌ์ŠคํŠธ๋ฅผ 6๊ฐœ์›”๋งˆ๋‹ค ๋‹ค์‹œ ์ ๊ฒ€ํ•˜๋ฉด ํŒ€์˜ ๋ณด์•ˆ ์Šต๊ด€์ด ๊ฐœ์„ ๋˜๋Š” ํ๋ฆ„์„ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ž์ฃผ ๋ฌป๋Š” ์งˆ๋ฌธ

git ํžˆ์Šคํ† ๋ฆฌ์—์„œ .env๋ฅผ ์‚ญ์ œํ•˜๋ฉด ์•ˆ์ „ํ•œ๊ฐ€์š”?

๋‹จ์ˆœ ์‚ญ์ œ๋‚˜ rebase๋งŒ์œผ๋กœ๋Š” ์ด๋ฏธ ์œ ์ถœ๋œ ํ‚ค๊ฐ€ ๋ฌดํšจํ™”๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ํžˆ์Šคํ† ๋ฆฌ ์ •๋ฆฌ์™€ ๋ณ„๊ฐœ๋กœ ํ•ด๋‹น ํ‚คยทํ† ํฐ์€ ๋ฐ˜๋“œ์‹œ ์žฌ๋ฐœ๊ธ‰ํ•ด์•ผ ์•ˆ์ „ํ•ฉ๋‹ˆ๋‹ค.

์ ์ˆ˜๊ฐ€ ๋‚ฎ์œผ๋ฉด ์™„์ „ํžˆ ์•ˆ์ „ํ•œ๊ฐ€์š”?

์ด ์ ์ˆ˜๋Š” ๋Œ€ํ‘œ์ ์ธ ์œ„ํ—˜ ์š”์ธ๋งŒ ๋ฐ˜์˜ํ•œ ์ฐธ๊ณ  ์ง€ํ‘œ์ž…๋‹ˆ๋‹ค. 0์ ์ด๋ผ๋„ ๋ฐฉํ™”๋ฒฝ, ์ ‘๊ทผ ๊ถŒํ•œ ๋“ฑ ๋‹ค๋ฅธ ๋ณด์•ˆ ์š”์†Œ๋Š” ๋ณ„๋„๋กœ ์ ๊ฒ€ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ž‘์€ ํŒ€๋„ Secret Manager๊ฐ€ ํ•„์š”ํ• ๊นŒ์š”?

ํŒ€ ๊ทœ๋ชจ๊ฐ€ ์ž‘์•„๋„ ํ‚ค ์œ ์ถœ ์‹œ ํ”ผํ•ด๋Š” ๋™์ผํ•ฉ๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ ํ‹ฐ์–ด๋ฅผ ์ œ๊ณตํ•˜๋Š” ๋„๊ตฌ๋„ ๋งŽ์•„ ์ดˆ๊ธฐ ๋„์ž… ๋น„์šฉ ๋ถ€๋‹ด์ด ํฌ์ง€ ์•Š์Šต๋‹ˆ๋‹ค.