์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 
์ธํ”„๋Ÿฐ ์˜๋ฌธ ๋ธŒ๋žœ๋“œ ๋กœ๊ณ 

1์‹œ๊ฐ„๋งŒ์— ์น˜ํ‚จ์ฝค๋ณด๊ฐ’์œผ๋กœ ๋ฐฐ์šฐ๋Š” ์„œ๋ฒ„ ๋ฐฐํฌ

์น˜ํ‚จ์ฝค๋ณด๊ฐ’์œผ๋กœ ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ˆ˜๋™๋ฐฐํฌ -> ๋„์ปค๋กœ ๋ฐฐํฌ -> Github Action CI/CD ์ˆœ์œผ๋กœ ๋ฐฐํฌ๊ณผ์ •์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

Thumbnail

์ดˆ๊ธ‰์ž๋ฅผ ์œ„ํ•ด ์ค€๋น„ํ•œ
[๋ฐ๋ธŒ์˜ต์Šค ยท ์ธํ”„๋ผ, ๋ฐฑ์—”๋“œ] ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๊ฑธ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”

  • ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ˆ˜๋™์œผ๋กœ ์‰ฝ๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•

  • ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ํ™œ์šฉํ•œ CI/CD๋ฐฉ๋ฒ•

์น˜ํ‚จ์ฝค๋ณด๊ฐ’์œผ๋กœ ๋ฐฐ์šฐ๋Š” ์„œ๋ฒ„ ๋ฐฐํฌ!!

์„œ๋ฒ„ ๋ฐฐํฌ, ์–ด๋ ต๊ฒŒ๋งŒ ๋Š๊ปด์กŒ๋‚˜์š”? ์ด์ œ ์น˜ํ‚จ ์ฝค๋ณด ๊ฐ’์œผ๋กœ ์‰ฝ๊ณ  ์žฌ๋ฐŒ๊ฒŒ ๋ฐฐ์šฐ์„ธ์š”!

์ด ๊ฐ•์˜๋Š” ์„œ๋ฒ„ ๋ฐฐํฌ์˜ ํ•ต์‹ฌ ๊ธฐ์ˆ ์„ ์‹ค๋ฌด์ฒ˜๋Ÿผ ๋ฐฐ์šฐ๋Š” ๊ณผ์ •์œผ๋กœ, ๋‹จ๊ณ„๋ณ„๋กœ ์ง์ ‘ ์‹ค์Šตํ•˜๋ฉด์„œ
๋‚ด ํ”„๋กœ์ ํŠธ๋ฅผ ํ”„๋กœ๋•์…˜ ํ™˜๊ฒฝ์— ์•ˆ์ „ํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์ตํž ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AWS๋ฅผ ํ™œ์šฉํ•œ .jar ํŒŒ์ผ ์ˆ˜๋™ ๋ฐฐํฌ๋ถ€ํ„ฐ Docker, GitHub Actions ๊นŒ์ง€, ์ตœ์‹  ๋ฐฐํฌ ํŠธ๋ Œ๋“œ์™€ ๊ธฐ์ˆ ์„ ์ˆœ์ฐจ์ ์œผ๋กœ ์ฒดํ—˜ํ•˜๋ฉฐ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์–ด์š”.

์„œ๋ฒ„ ๋ฐฐํฌ, ์ด์ œ ์–ด๋ ต์ง€ ์•Š์Šต๋‹ˆ๋‹ค!

๋ฐฐํฌ ํ•œ๋ฒˆํ• ๋•Œ 10~20๋ถ„ โ†’ CI/CD๋ฅผ ํ†ตํ•œ๋‹ค๋ฉด ๊นƒํ—ˆ๋ธŒ ํ‘ธ์‰ฌ๋งŒ์œผ๋กœ ํ•ด๊ฒฐ

10~20๋ถ„ ์ผ์ฃผ์ผ์— ํ•œ๋ฒˆ์ด๋ผ๋„ 1๋‹ฌ์ด๋ฉด 40~80๋ถ„ 1๋…„์ด๋ฉด 480~960๋ถ„ ๋งค์šฐ ๊ธด ์‹œ๊ฐ„์ด ๋‚ญ๋น„๋ฉ๋‹ˆ๋‹ค!!

๊ธด ํ”„๋กœ์ ํŠธ, ํ˜‘์—… ํ”„๋กœ์ ํŠธ๋ผ๋ฉด ๊ผญ CI/CD ์„ธํŒ…์ด ํ•„์ˆ˜์ธ๋ฐ์š”!!

์ด ๊ฐ•์˜ ํ•˜๋‚˜๋กœ ์„œ๋ฒ„๋ฐฐํฌ๋ฅผ ์•„๋Š” ์ „๋ฌธ๊ฐ€๋กœ ๊ฑฐ๋“ญ๋‚˜์„ธ์š”.


Spring Boot, github-actions, Docker, AWS, .jar

๋ฅผ ํ™œ์šฉํ•ฉ๋‹ˆ๋‹ค.


์ด๋Ÿฐ ๋‚ด์šฉ์„ ๋ฐฐ์›Œ์š”

1โƒฃ .jar ํŒŒ์ผ์„ filezilla๋ฅผ ํ†ตํ•ด ์ˆ˜๋™๋ฐฐํฌ!

์ˆ˜๋™์œผ๋กœ ํŒŒ์ผ์„ ์„œ๋ฒ„(EC2) ์— ์˜ฎ๊ธฐ๊ณ  nohup ์„ ํ†ตํ•ด ๋ฐฑ๊ทธ๋ผ์šด๋“œ์—์„œ ์„œ๋ฒ„๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

Filezilla๋ฅผ ํ†ตํ•œ .jar ์ˆ˜๋™๋ฐฐํฌ

2โƒฃ .jar ํŒŒ์ผ ์ˆ˜๋™๋ฐฐํฌ์—์„œ Docker๋ฅผ ํ™œ์šฉํ•˜์—ฌ ๋ฐฐํฌ!

.jar ํŒŒ์ผ์„ ์ˆ˜๋™๋ฐฐํฌํ•˜๋Š” ๋ฐฉ์‹์—์„œ ์š”์ฆ˜ ํ™œ์šฉ๋˜๋Š” ๊ฐ€์ƒํ™” ๊ธฐ์ˆ ์ธ ๋„์ปค๋ฅผ ํ™œ์šฉํ•ด ์„œ๋ฒ„์— ๊ฐ„๋‹จํ•˜๊ฒŒ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›๋‹ˆ๋‹ค.

Docker๋ฅผ ํ†ตํ•œ ๊ฐ„ํŽธํ•œ ์ˆ˜๋™๋ฐฐํฌ

3โƒฃ Docker, ๊นƒํ—ˆ๋ธŒ ์•ก์…˜์„ ํ™œ์šฉํ•œ CI/CD ๊ตฌ์ถ•

์ „๋ฐ˜์ ์ธ ์ˆ˜๋™๋ฐฐํฌ ๊ณผ์ •์„ ๊ฑฐ์นœ ๋’ค ์ž๋™ํ™”๋œ ๋ฐฐํฌ๋ฐฉ์‹์„ ๊ฒฝํ—˜ํ•˜๊ณ 

CI/CD ๊ตฌ์ถ•๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ ์ž๋™์œผ๋กœ ์„œ๋ฒ„๊ฐ€ ๋ฐฐํฌ๋˜๋„๋ก ์„ค๊ณ„ํ•ฉ๋‹ˆ๋‹ค.

Github Action์„ ํ†ตํ•œ CI/CD

์ˆ˜๊ฐ• ์ „ ์ฐธ๊ณ  ์‚ฌํ•ญ

์‹ค์Šต ํ™˜๊ฒฝ

  • ์šด์˜ ์ฒด์ œ ๋ฐ ๋ฒ„์ „(OS): macOS, Linux.

  • ์‚ฌ์šฉ ๋„๊ตฌ: AWS ์ฝ˜์†” ๋ฐ AWS ๊ณ„์ •, ํ„ฐ๋ฏธ๋„, ๊นƒํ—ˆ๋ธŒ, ๊นƒํ—ˆ๋ธŒ ์•ก์…˜


ํ•™์Šต ์ž๋ฃŒ

  • ์ œ๊ณตํ•˜๋Š” ํ•™์Šต ์ž๋ฃŒ ํ˜•์‹: ๋…ธ์…˜๋งํฌ

์„ ์ˆ˜ ์ง€์‹ ๋ฐ ์œ ์˜์‚ฌํ•ญ

  • ์„œ๋ฒ„๋ฅผ ํ•œ๋ฒˆ ๊ฒฝํ—˜ํ•ด๋ณด์‹  ๋ถ„์ด ๋ณด๋Š”๊ฑธ ์ถ”์ฒœ๋“œ๋ฆฝ๋‹ˆ๋‹ค.

  • ํ›„๋ฐ˜ CI/CD ๊ตฌ์ถ•์„ ์œ„ํ•ด ๊นƒํ—ˆ๋ธŒ ๊ณ„์ •์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

  • AWS EC2์— ์„œ๋ฒ„๋ฐฐํฌ๋ฅผ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— AWS ํ”„๋ฆฌํ‹ฐ์–ด ํ˜น์€ AWS ๊ณ„์ •์ด ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฐ ๋ถ„๋“ค๊ป˜
์ถ”์ฒœ๋“œ๋ ค์š”!

ํ•™์Šต ๋Œ€์ƒ์€
๋ˆ„๊ตฌ์ผ๊นŒ์š”?

  • ์Šคํ”„๋ง๋ถ€ํŠธ ๋ฐฐํฌํ•˜๋Š”๋ฒ•์ด ๊ถ๊ธˆํ•˜์‹ ๋ถ„

  • ์Šคํ”„๋ง๋ถ€ํŠธ๋ฅผ ์ˆ˜๋™์œผ๋กœ ๋ฐฐํฌํ•˜๋‹ค ์ž๋™์œผ๋กœ ๋ฐฐํฌํ•˜๊ณ  ์‹ถ์œผ์‹ ๋ถ„

  • CI/CD ๊ฒฝํ—˜์ด ํ•„์š”ํ•˜์‹ ๋ถ„

์•ˆ๋…•ํ•˜์„ธ์š”
Neo์ž…๋‹ˆ๋‹ค.

152

๋ช…

์ˆ˜๊ฐ•์ƒ

9

๊ฐœ

์ˆ˜๊ฐ•ํ‰

4.3

์ 

๊ฐ•์˜ ํ‰์ 

3

๊ฐœ

๊ฐ•์˜

"์‹ค์ „ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ํ•œ ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๊ฐ•์˜"

ํ˜ผ์ž๋งŒ์˜ ๋…ธ๋ ฅ์œผ๋กœ ์„œ๋ฒ„ ๊ฐœ๋ฐœ์ž๋กœ ์„ฑ์žฅํ•œ ์‹ค์ „ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ, ๋‹ค์–‘ํ•œ ๋Œ€ํšŒ์™€ ํ•ด์ปคํ†ค์—์„œ ์ˆ˜์ƒํ•˜๋ฉฐ ๊ฒช์€ ๋…ธํ™”์šฐ๋ฅผ ๊ณต์œ ํ•˜๊ณ ์ž ์‹œ์ž‘ํ•œ ์ง€์‹ ๊ณต์œ ์ž…๋‹ˆ๋‹ค.

์„ฑ๊ณต์ ์œผ๋กœ ์™„์„ฑํ•œ ํ”„๋กœ์ ํŠธ๋“ค์„ ํ†ตํ•ด ์ถ•์ ๋œ ๋…ธํ•˜์šฐ๋ฅผ ์•„๋‚Œ์—†์ด ๊ณต์œ ํ•˜๊ณ ์ž ํ•ฉ๋‹ˆ๋‹ค.

ํ˜„์žฌ ํ”„๋ฆฌ๋žœ์„œ๋กœ ๋‹ค์ˆ˜์˜ ํ”„๋กœ์ ํŠธ๋ฅผ ์ง„ํ–‰ ์ค‘์ด๋ฉฐ, ์ด ๊ฐ•์˜๋ฅผ ํ†ตํ•ด ์‹ค๋ฌด์—์„œ ๋ฐ”๋กœ ์ ์šฉ ๊ฐ€๋Šฅํ•œ ๊ธฐ์ˆ ๊ณผ ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ์„ ์ „๋‹ฌํ•˜๊ณ ์ž ํ•˜๋ฉฐ ์‹ค์ „์—์„œ ์–ป์€ ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋”์šฑ ํšจ์œจ์ ์ด๊ณ  ๊ฒฌ๊ณ ํ•œ ์‹œ์Šคํ…œ์„ ๊ตฌ์ถ•ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์›Œ๋ณด์„ธ์š”!

๋”๋ณด๊ธฐ

์ปค๋ฆฌํ˜๋Ÿผ

์ „์ฒด

8๊ฐœ โˆ™ (1์‹œ๊ฐ„ 9๋ถ„)

๊ฐ•์˜ ๊ฒŒ์‹œ์ผ: 
๋งˆ์ง€๋ง‰ ์—…๋ฐ์ดํŠธ์ผ: 

์ˆ˜๊ฐ•ํ‰

์•„์ง ์ถฉ๋ถ„ํ•œ ํ‰๊ฐ€๋ฅผ ๋ฐ›์ง€ ๋ชปํ•œ ๊ฐ•์˜์ž…๋‹ˆ๋‹ค.
๋ชจ๋‘์—๊ฒŒ ๋„์›€์ด ๋˜๋Š” ์ˆ˜๊ฐ•ํ‰์˜ ์ฃผ์ธ๊ณต์ด ๋˜์–ด์ฃผ์„ธ์š”!