๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

docker5

[CI-CD ๊ตฌ์ถ•] AWS EC2, Docker ๋ฅผ ์ด์šฉํ•œ Spring Boot ์ž๋™ ๋ฐฐํฌ ์ธํ”„๋ผ ๊ตฌ์ถ•์€ ์ฐธ ์‰ฝ์ง€ ์•Š๋‹ค. ์ธํ”„๋ผ ๊ณต๋ถ€๋Š” ๋”๋”์šฑ ์–ด๋ ค์šด ๊ฒƒ ๊ฐ™๋‹ค. ๋ฌด์—‡๋ณด๋‹ค ์‹ค์Šต์„ ํ•˜๋ ค๋ฉด ๋น„์šฉ์ด ์ฐธ ๋งŽ์ด ๋“ ๋‹ค. ํ•˜์ง€๋งŒ, ์›ํ™œํ•œ ๊ฐœ๋ฐœ์„ ์œ„ํ•ด์„œ๋Š” ์ž๋™ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ถ•ํ•ด์•ผ์ง€๋งŒ, ์„œ๋น„์Šค ๊ฐœ๋ฐœ์—๋งŒ ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ๋‹ค. ๊ทธ๋ž˜์„œ ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์ž๋Š” ์„œ๋ฒ„ ๊ฐœ๋ฐœ ๋Šฅ๋ ฅ ์ด์™ธ์—, ์–ด๋А ์ •๋„ ์ธํ”„๋ผ ๊ตฌ์ถ• ๋ฐ ํ™˜๊ฒฝ์— ๋Œ€ํ•œ ๊ฐœ๋…์„ ๊ธฐ๋ณธ์ ์œผ๋กœ ํƒ‘์žฌํ•ด์•ผ ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•œ๋‹ค. ์ด๋ฒˆ์— ์‚ฌ์ด๋“œ ํ”„๋กœ์ ํŠธ ๊ธฐํš ๋ฐ ์ธํ”„๋ผ ๊ตฌ์ถ•์„ ํ•ด์•ผ๋  ์ผ์ด ์ƒ๊ฒผ๋‹ค. ์–ด๋–ป๊ฒŒ ์ตœ๋Œ€ํ•œ ์‰ฝ๊ณ  ๋น ๋ฅด๊ฒŒ ๊ตฌ์ถ•ํ• ์ง€ ๊ณ ๋ฏผ์„ ํ•ด๋ตœ๋‹ค. ์ด ์ „์—๋Š” jar ํŒŒ์ผ์„ ๊ทธ๋Œ€๋กœ ์‹คํ–‰ํ•˜๊ธฐ ์œ„ํ•ด AWS EC2 ์ธ์Šคํ„ด์Šค์— ๊ณ ๋Œ€๋กœ ๋กœ์ปฌ๊ณผ ๋น„์Šทํ•œ ํ™˜๊ฒฝ์„ ๊ตฌ์„ฑํ•ด ๋†“๊ณ , yaml ๋„ ๊ทธ๋Œ€๋กœ ๋„ฃ์–ด๋†“๊ณ , ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ์‹œ๋„ํ–ˆ๋‹ค. Ubuntu ์„œ๋ฒ„์—์„œ ํ• ๊ฒŒ ์ฐธ ๋งŽ์•˜๋‹ค. ๋„์ปค๋ฅผ ๊ณต๋ถ€ํ•˜๊ณ , ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ EC2 ์— .. 2023. 6. 18.
์Šคํ”„๋ง ๋ถ€ํŠธ ์†Œ๋‚˜ํ๋ธŒ(SonarQube) ์ ์šฉ + PostgreSql ๊ฐˆ์ˆ˜๋ก ์‰ฝ์ง€ ์•Š๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ๋งŒ๋“ค์–ด ๊ฐ€๋Š” ๊ณผ์ •์—์„œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ๋ถ€๋ถ„์€ ๊ทนํžˆ ์ผ๋ถ€ ๊ณผ์ •์ž„์„ ๊นจ๋‹ฌ์•˜๋‹ค. ์˜คํžˆ๋ ค ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋Š” ์‹œ๊ฐ„์ด ๋” ๊ทธ๋ฆฝ๋‹ค. ๋ฆฌํŒฉํ„ฐ๋ง๊ณผ ๊ธฐ์ˆ  ์ ์šฉ ๋ฐ ๋ฒ„์ „ ๋งž์ถค ์ˆ˜์ •์— ์‹œ๊ฐ„์„ ๋” ์Ÿ๋Š” ์š”์ฆ˜์ด๋‹ค. ํด๋ฆฐ ํ•œ ์ฝ”๋“œ๋ฅผ ์œ„ํ•ด ์†์ˆ˜ ๋ฆฌํŒฉํ„ฐ๋ง์„ ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ •์  ์ฝ”๋“œ ๋ถ„์„ ๋„๊ตฌ๋ž€ ๊ฒƒ์ด ์žˆ๋‹ค๊ณ  ํ•œ๋‹ค. ๋Œ€ํ‘œ์ ์œผ๋กœ SonarQube๋ฅผ ๋งŽ์ด ์‚ฌ์šฉํ•œ๋‹ค๊ณ  ํ•˜๋Š”๋ฐ ์ด๋ฅผ ์ ์šฉํ•ด ๋ณด๋Š” ์‹œ๊ฐ„์„ ๊ฐ€์กŒ๋‹ค. ์ •๋ง ์˜ค๋ž˜ ๊ฑธ๋ ธ๊ณ , ์ •ํ™•ํ•˜์ง„ ์•Š์„ ์ˆ˜ ์žˆ์ง€๋งŒ ๋‚˜๋ฆ„๋Œ€๋กœ ์ ์šฉํ–ˆ๋˜ ๊ณผ์ •์„ ์ •๋ฆฌํ•ด๋ณด๊ฒ ๋‹ค. (ํ‹€๋ฆฐ ๋ถ€๋ถ„์ด ์žˆ์œผ๋ฉด ๋ฌดํ•œํ•œ ๋Œ“๊ธ€ ๊ฐ์‚ฌํžˆ ๋ฐ›๊ฒ ์Šต๋‹ˆ๋‹ค!) ์ด๊ฒƒ์ด ์™„๋ฃŒ๋œ ํ›„ AWS lightsales, ec2 ์ ์šฉ ์—ฌ๋ถ€๋ฅผ ํŒ๋‹จํ•ด๋ณด์•„์•ผ๊ฒ ๋‹ค. ์ •์  ๋ถ„์„ ๋„๊ตฌ ์ฝ”๋“œ์˜ ํ’ˆ์งˆ์— ๋Œ€ํ•ด ๊ณ ๋ คํ•  ๋•Œ ํ•„์ˆ˜์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ๋„๊ตฌ์ด๋‹ค. ์ง€์†์ ์ธ .. 2022. 7. 5.
2022.04.20 ์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ํ•˜๋ฃจ ๊ณ„ํš ํŒŒํŠธ 1 (11์‹œ ~ 2์‹œ) 1. Gradle MVC ํ”„๋กœ์ ํŠธ ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ๋ฆฌํŒฉํ† ๋ง 2. Mysql 3๋‹จ์› ์ •๋ฆฌ ํŒŒํŠธ 2 (3์‹œ ~ 1์‹œ) 1. ์Šคํ”„๋งMVC ๊ฐœ๋… ์ •๋ฆฌ : ํ•ธ๋“ค๋Ÿฌ ์ถ”์ƒํด๋ž˜์Šค๋กœ ์™œ ์ด๋ฃจ์–ด์ ธ ์žˆ๋Š”์ง€ ๊ณ ๋ฏผํ•ด๋ณด์ž 3๊ฐœ 2. ์Šคํ”„๋ง๋ถ€ํŠธ ํ”„๋กœ์ ํŠธ WIkI ์ •๋ฆฌ 3. ๋…ธ์…˜ ์ด๋ ฅ์„œ ํ…œํ”Œ๋ฆฟ ๋ฐ ์ดˆ์•ˆ ์ž‘์„ฑ 4. ๋„์ปค 2๋ฌธ์„œ 5. ์•Œ๊ณ ๋ฆฌ์ฆ˜ 1๋ฌธ์ œ 2022. 4. 20.
2022.04.19์˜ ๊ธฐ๋ก โ–ถ ์˜ค๋Š˜ ํ•ด์•ผํ•  ๊ณ„ํš 1. real Mysql CH2 2. Docker ๋ณธ๋ฌธ 1ํŽ˜์ด์ง€ 3. ์ž๊ธฐ์†Œ๊ฐœ์„œ ๋…ธ์…˜ ์ •๋ฆฌ 4. ๊นƒํ—ˆ๋ธŒ ์ฐจ๊ธฐ ํ”„๋กœ์ ํŠธ์šฉ ์ €์žฅ์†Œ ์ƒ์„ฑ 5. ํ…Œ์ŠคํŠธ์ฝ”๋“œ ํ”ผ๋“œ๋ฐฑ์œผ๋กœ ์ˆ˜์ • 6. ์˜ค๋ผํด ์‚ญ์ œ ๋ฐ mysql ์‚ญ์ œ ํ›„ ์žฌ์„ค์น˜ 7. ์•Œ๋ฐ” ๋ฉด์ ‘ 8. ์Šคํ”„๋ง ์งˆ๋ฌธ ๋‹ต๋ณ€ ์ •๋ฆฌ 2022. 4. 19.
2022.04.18 ์˜ค๋Š˜์˜ ๊ธฐ๋ก โ–ถ ์ฃผ๊ฐ„ ์ •๋ฆฌ 1. ํ…Œ์ŠคํŠธ ์ฝ”๋“œ ์ด์Šˆ -> ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋ฅผ ์ฒ˜์Œ ์ž‘์„ฑํ•˜๋‹ค ๋ณด๋‹ˆ ๋ฌธ์ œ๊ฐ€ ๋งŽ์•˜์Œ 1) ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ๊ด€๋ฆฌ ํˆด (Gradle) -> ์–˜๋Š” ๊ทธ๋ž˜๋„ ๋ฉ”์ด๋ธ์ด๋ž‘ ๋น„์Šทํ•ด์„œ ์‰ฌ์›€ 2) ์—๋„ˆํ…Œ์ด์…˜ ์ ์šฉ์ด ์•ˆ๋˜๋Š” ๋ถ€๋ถ„ -> ์•„๋ฌด๋ฆฌ ์˜์กด์„ฑ์„ ์ถ”๊ฐ€ํ•ด๋„ ์•ˆ ๋˜๋Š” ๋ถ€๋ถ„์€ ๋ฒ„์ „์ด ์—…๊ทธ๋ ˆ์ด๋“œ ๋˜๋ฉฐ ๋”ฐ๋กœ ๋ชจ๋“ˆํ™”๊ฐ€ ๋œ ๋ถ€๋ถ„์ด ๋งŽ๊ธฐ๋„ ํ•˜๊ณ , ๋”ฐ๋กœ import ํ•ด์ค˜์•ผ ํ•˜๋Š” junit์˜ ๋‹จ์ ์„ ์•Œ๊ฒŒ๋˜์—ˆ๋‹ค.. 3) ํ…Œ์ŠคํŠธ ์ฝ”๋“œ๋Š” ํด๋ž˜์Šค๋ช… + Test ๋ผ๊ณ  ์ด๋ฆ„ ๋ถ™์ด๋ฉด ๋จ.. 4) ์ž‘์„ฑ ์ฝ”๋“œ๋ฅผ ํ…Œ์ŠคํŠธ์ฝ”๋“œ์— ๋„ฃ์ง€ ๋ง๊ณ  ํ…Œ์ŠคํŠธ๋ฅผ ํ•˜๊ธฐ ์œ„ํ•œ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜์ž. 2. ํ”„๋กœ์ ํŠธ ๊ด€๋ จ ์ด์Šˆ (ํšŒ๊ณ  ์ž‘์„ฑํ•˜์ž) -> ์ž‘์„ฑ ์™„๋ฃŒ 3. ์Šคํ”„๋ง ๊ฐœ๋… ์ •๋ฆฌ ๊ด€๋ จ๋œ ์ด์Šˆ (์ž‘์„ฑ ์˜ˆ์ •) 1) ํ”„๋ก ํŠธ ์ปจํŠธ๋กค๋Ÿฌ ํŒจํ„ด์ด ๊ตฌ์ฒด์ ์œผ๋กœ ๋ฌด์—‡์ธ์ง€. 2) Bean Scope.. 2022. 4. 18.
๋ฐ˜์‘ํ˜•