๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ ์šฉํ•˜๊ธฐ (SpringBoot, Docker, Nginx, GithubAction)

๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์ ์šฉํ•˜๊ธฐ (SpringBoot, Docker, Nginx, GithubAction)

๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ž€? ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋Š” ์‚ฌ์šฉ์ž์—๊ฒŒ ์„œ๋น„์Šค ์ค‘๋‹จ ์—†์ด ์ƒˆ๋กœ์šด ๋ฒ„์ „์˜ ์†Œํ”„ํŠธ์›จ์–ด๋ฅผ ๋ฐฐํฌํ•˜๋Š” ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. ์„œ๋น„์Šค๋ฅผ ์šด์˜ ์ค‘์ผ ๋•Œ ์ƒˆ๋กœ์šด ๋ฒ„์ „์„ ๋ฐฐํฌํ•˜๊ธฐ ์œ„ํ•ด์„œ๋Š” 1. ๊ธฐ์กด ์„œ๋น„์Šค๋ฅผ ์ข…๋ฃŒ 2. ์ƒˆ๋กœ์šด ์„œ๋น„์Šค ์‹œ์ž‘ ๋‘๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง€๋‚˜์ณ์•ผ ํ•œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋˜๋ฉด 1๋ฒˆ๊ณผ 2๋ฒˆ ์‚ฌ์ด์˜ ๊ณผ์ •์—์„œ ๋‹ค์šดํƒ€์ž„์ด ํ•„์—ฐ์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋ฉฐ, ๋‹ค์šดํƒ€์ž„ ๋™์•ˆ ์‚ฌ์šฉ์ž๋“ค์€ ์„œ๋น„์Šค๋ฅผ ์ด์šฉํ•  ์ˆ˜ ์—†๋‹ค. ์ด ๋‹ค์šดํƒ€์ž„์„ ํ•ด๊ฒฐํ•ด์ฃผ๋Š” ๋ฐฉ๋ฒ•์ด ๋ฐ”๋กœ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ์ด๋‹ค. ์ฆ‰, ๋ง๊ทธ๋Œ€๋กœ ์ค‘๋‹จ์ด ์—†๋Š” ๋ฐฐํฌ๋ฅผ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ์ด๋‹ค. ๋‹ค์šดํƒ€์ž„ ์‹œ์Šคํ…œ์„ ์ด์šฉํ•  ์ˆ˜ ์—†๋Š” ์‹œ๊ฐ„. ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ๊ตฌํ˜„ ๋ฐฉ์‹์—๋Š” ์—ฌ๋Ÿฌ๊ฐ€์ง€ ๊ธฐ์ˆ ์ด ์กด์žฌํ•œ๋‹ค. - AWS์—์„œ Blue-Greem ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ - ๋„์ปค๋ฅผ ์ด์šฉํ•œ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ - L4, L7 ์Šค์œ„์น˜๋ฅผ ์ด์šฉํ•œ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ - Nginx๋ฅผ ..

  • textsms
์Šคํ”„๋ง Docker, githubaction ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ ์ž๋™ํ™”(CI/CD) ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

์Šคํ”„๋ง Docker, githubaction ์‚ฌ์šฉํ•˜์—ฌ ๋ฐฐํฌ ์ž๋™ํ™”(CI/CD) ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ•

์ด์ „์— ์ง„ํ–‰ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ๋•Œ๋„ ๊ทธ๋ ‡๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—๋„ ci-cd ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ•˜๋Š”๋ฐ github action, AWS S3, AWS CODEDEPLOY ๋ฅผ ์‚ฌ์šฉํ–ˆ๋‹ค. ์†Œํ”„ํŠธ์›จ์–ด ์•„ํ‚คํ…์ฒ˜๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ๊ตฌ์„ฑํ•˜์˜€๋‹ค. ํ•˜์ง€๋งŒ ์ด๋Š” ์„ธํŒ… ๊ณผ์ •์ด ๋„ˆ๋ฌด ๊ธธ๊ณ  ๋ณต์žกํ•˜๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ๋‹ค. ๋” ์ข‹์€ ๋ฐฉ๋ฒ•์ด ์—†์„๊นŒ ์ฐพ์•„๋ณด๋‹ค Docker๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋กœ ํ–ˆ๊ณ  ์ด์ „๊ณผ ๋‹ฌ๋ฆฌ ๋„ˆ๋ฌด ํŽธํ•ด์ง„ ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• ๊ณผ์ •์„ ๊ธฐ๋กํ•˜๊ธฐ ์œ„ํ•ด ๊ธ€์„ ์“ด๋‹ค. ๊ทธ ์ „์— cicd์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž CICD ๋ž€ ๋ฌด์—‡์ธ๊ฐ€? CI/CD๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ๊ฐœ๋ฐœ ๋‹จ๊ณ„๋ถ€ํ„ฐ ๋ฐฐํฌ ๋•Œ๊นŒ์ง€์˜ ๋ชจ๋“  ๋‹จ๊ณ„๋ฅผ ์ž๋™ํ™”๋ฅผ ํ†ตํ•ด์„œ ์ข€ ๋” ํšจ์œจ์ ์ด๊ณ  ๋น ๋ฅด๊ฒŒ ์‚ฌ์šฉ์ž์—๊ฒŒ ๋นˆ๋ฒˆํžˆ ๋ฐฐํฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์„ ๋งํ•œ๋‹ค. CI (Continuous Integration) CI (Continuous Int..

  • textsms
๋ฐฐํฌ ๊ณผ์ •์—์„œ ์žˆ์—ˆ๋˜ ์ผ๋“ค

๋ฐฐํฌ ๊ณผ์ •์—์„œ ์žˆ์—ˆ๋˜ ์ผ๋“ค

๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์œผ๋กœ ์ธํ•œ ์žฅ์•  ec2์—” ๋‹ค์–‘ํ•œ ์ŠคํŽ™์„ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋‹ค. ํ”„๋กœ์ ํŠธ ๋ฐฐํฌ ์ „์ด์—ˆ๊ณ  ํ…Œ์ŠคํŠธ ๋‹จ๊ณ„์˜€๊ธฐ์— ๋‹น์—ฐํžˆ t2.small๋กœ ์žก์•„๋‘์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ์„œ๋ฒ„๋ฅผ ์‹คํ–‰ํ•œ ๋’ค ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด ์–ด๋Š์ƒŒ๊ฐ€ ec2๊ฐ€ ๋ป—์–ด์žˆ์—ˆ๋‹ค. ์ด์œ ๋Š” ๋ฉ”๋ชจ๋ฆฌ ๋ฌธ์ œ์˜€๋‹ค. ํ˜„์žฌ ์‚ฌ์šฉ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ ์–‘์„ ํ™•์ธํ•ด ๋ดค๋”๋‹ˆ ๊ฑฐ์˜ ๋ชจ๋“  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์žก์•„๋จน๊ณ  ์žˆ์—ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ๋ ‡๊ฒŒ ํฌ์ง€๋„ ์•Š์€ ์„œ๋ฒ„ ํ•˜๋‚˜๋ฅผ ์‹คํ–‰ํ–ˆ๋‹ค๊ณ  1GB ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค ์žก์•„๋จน๋Š”๊ฒŒ ์˜์•„ํ–ˆ๊ณ  ์—ฌ๋Ÿฌ ์‚ฌ๋žŒ๋“คํ•œํ…Œ ๋ฌผ์–ด๋ดค์ง€๋งŒ ๋กœ์ง์ด ๋ฌธ์ œ์ธ๊ฑฐ ์•„๋‹ˆ๋ƒ๋Š” ๋‹ต๋ณ€์„ ๋งŽ์ด ๋“ฃ๊ฒŒ ๋๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜ ์˜์‹ฌ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๊ฐ€ ๋˜๋Š” ๋ถ€๋ถ„์ด ์žˆ๋Š”๊ฐ€ ํ•ด์„œ JAVA GC์— ๋Œ€ํ•ด ์•Œ์•„๋ณด๊ธฐ๋„ ํ–ˆ์ง€๋งŒ ๋‚ด ์ƒํ™ฉ์— ํ•ด๋‹นํ•˜์ง„ ์•Š์•˜๋‹ค. GC์— ์†Œ๋ฉธ๋˜์ง€ ์•Š๋Š” ์—ฌ๋Ÿฌ ์ƒํ™ฉ๋“ค์ด ๋งŽ์•˜์ง€๋งŒ ๊ทธ ์ค‘ ๋‚ด๊ฐ€ ์‹ค์ˆ˜ํ•  ์ˆ˜๋„ ์žˆ๊ฒ ๋‹ค ํ•˜๋Š” ๋ถ€๋ถ„์€ Map ..

  • textsms
[GIT] Git Flow | Github Flow ์ „๋žต

[GIT] Git Flow | Github Flow ์ „๋žต

Git Flow ๊ฐœ๋… git flow ์ „๋žต์ด๋ž€ ์—ฌ๋Ÿฌ ๊ฐœ๋ฐœ์ž๊ฐ€ ํ•˜๋‚˜์˜ ์ €์žฅ์†Œ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ํ™˜๊ฒฝ์—์„œ ์ €์žฅ์†Œ๋ฅผ ํšจ๊ณผ์ ์œผ๋กœ ํ™œ์šฉํ•˜๊ธฐ ์œ„ํ•œ work-flow๋‹ค. ๋ธŒ๋žœ์น˜ ์ƒ์„ฑ์— ๊ทœ์น™์„ ๋งŒ๋“ค์–ด์„œ ํ˜‘์—…์„ ์œ ์—ฐํ•˜๊ฒŒ ํ•˜๋Š” ๋ฐฉ๋ฒ•๋ก ์„ ๋งํ•œ๋‹ค. ๋ธŒ๋žœ์น˜ ์ข…๋ฅ˜ master : ๊ธฐ์ค€์ด ๋˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ์ œํ’ˆ์„ ๋ฐฐํฌํ•˜๋Š” ๋ธŒ๋žœ์น˜ | ์‹ค์ œ ์šด์˜ ํ™˜๊ฒฝ develop : ๊ฐœ๋ฐœ ๋ธŒ๋žœ์น˜๋กœ ๊ฐœ๋ฐœ์ž๋“ค์ด ์ด ๋ธŒ๋žœ์น˜๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ฐ์ž ์ž‘์—…ํ•œ ๊ธฐ๋Šฅ๋“ค์„ Merge feature : ๋‹จ์œ„ ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•˜๋Š” ๋ธŒ๋žœ์น˜๋กœ ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ์ด ์™„๋ฃŒ๋˜๋ฉด develop ๋ธŒ๋žœ์น˜์— Merge release : ๋ฐฐํฌ๋ฅผ ์œ„ํ•ด master ๋ธŒ๋žœ์น˜๋กœ ๋ณด๋‚ด๊ธฐ ์ „์— ๋จผ์ € QA(ํ’ˆ์งˆ๊ฒ€์‚ฌ)๋ฅผ ํ•˜๊ธฐ์œ„ํ•œ ๋ธŒ๋žœ์น˜ hotfix : master ๋ธŒ๋žœ์น˜๋กœ ๋ฐฐํฌ๋ฅผ ํ–ˆ๋Š”๋ฐ ๋ฒ„๊ทธ๊ฐ€ ์ƒ๊ฒผ์„ ๋–„ ๊ธด๊ธ‰ ์ˆ˜์ •ํ•˜๋Š” ๋ธŒ๋žœ์น˜ gi..

  • textsms
Github Action ๋ฐฐํฌ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• A-Z

Github Action ๋ฐฐํฌ ์ž๋™ํ™” ํŒŒ์ดํ”„๋ผ์ธ ๊ตฌ์ถ• A-Z

์ž‘๋…„์— 10์›”์— ์ฒ˜์Œ aws์— ์„œ๋ฒ„ ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ–ˆ์—ˆ๋‹ค. ํ•ด์ปคํ†ค์„ ์ง„ํ–‰ํ•˜๋‹ค ๊ฐœ๋ฐœ์„ ๋๋‚ด๊ณ  ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ–ˆ๋˜๊ฑด๋ฐ ์•„๋ฌด๋Ÿฐ ์ง€์‹๋„ ์—†์ด ๋งจ๋•…์— ํ•ด๋”ฉํ•˜๋‹ค๋ณด๋‹ˆ ์ˆ˜์—†์ด ์‚ฝ์งˆ์„ ํ–ˆ๋‹ค. jpa + mysql์„ ์‚ฌ์šฉํ•œ ํ”„๋กœ์ ํŠธ์˜€์ง€๋งŒ rds ์„ธํŒ…๋„ ํ•˜์ง€ ์•Š๊ณ  elastic beanstalk์œผ๋กœ ๋ฐฐํฌํ•˜๋ ค ํ–ˆ์—ˆ๋‹ค. ์•„๋ฌดํŠผ 1๋…„์ด ์ง€๋‚œ ์ง€๊ธˆ ์—ฌ์ „ํžˆ aws๋Š” ์–ด๋ ต๋‹ค. ์ด๋ฒˆ์— github action ci/cd ํŒŒ์ดํ”„๋ผ์ธ์„ ๊ตฌ์ถ•ํ–ˆ๋˜ ๊ณผ์ •์„ ๋‚จ๊ฒจ๋‘๋ คํ•œ๋‹ค. ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ ์ธ์Šคํ„ด์Šค ์ƒ์„ฑ์€ ์šฐ๋ถ„ํˆฌ๋กœ ํ•˜์˜€๊ณ  ๋”ฐ๋ผํ•  ๋‹ค๋ฅธ ๋ธ”๋กœ๊ทธ๋„ ๋„ˆ๋ฌด ๋งŽ์œผ๋‹ˆ ์ƒ๋žต ํƒœ๊ทธ ๊ฐ’ ์„ค์ • ์ง€๊ธˆ ์„ค์ •ํ•˜๋Š” ํƒœ๊ทธ๋Š” ๋’ค์—์„œ codedeploy๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™ ํŽธ์ง‘ ์ธ๋ฐ”์šด๋“œ ๊ทœ์น™์€ ๋ณธ์ธ์˜ ํ”„๋กœ์ ํŠธ์— ๋งž๊ฒŒ ์—ด๋ฉด ๋œ๋‹ค. ํ•„์ž๋Š” ์•„๋ž˜์™€ ๊ฐ™์ด ์—ด์–ด์ฃผ์—ˆ๋‹ค. ssh ์ ‘์†์„..

  • textsms