์ฐ๋ฆฌ fisa 2๊ธฐ 'ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ' 16์ฃผ์ฐจ
์์๊ฐ์ ๊ฐ 16์ฃผ์ฐจ ~ ์ด๋ฒ ํ ์ฃผ๋ ์ฌ๋ฌ๋ชจ๋ก ๋ถ์ฃผํ ์ฃผ์๋ค.
์ต์ข
ํ๋ก์ ํธ๋ฅผ ์ํ ์ฌ์ ํ์์ ์ค์ต์ด ์์๊ณ , sqld ์ํ๊น์ง ์์๋ค ~~ ใ
ใ
๊ทธ๋์ ๊ทธ๋ฐ์ง ์ง์ค๋ ์์ฒญ ์ด์ฌํ ํ๋ ๊ฒ ๊ฐ๋ค !!
์ด์ ๋ค์ ๋ด ์๋ ๊ณต๋ถ๋ก ๋์์ ์ ๋๋ก ํด๋ณด๋ ค๊ณ ์ฌ์ ๋น ์ค์ ์์ด์
์ผ์ ์๊ธฐ

ํ ์ฃผ๋ฅผ ๋ณด๋ด๋ค๊ฐ ์ข์ ์์์ด ๋ค๋ ค์๋ค !! 5์ฃผ ์ฐ์ ์ฐ์ ๋ธ๋ก๊ทธ ์์ ๋ฐ์๋คใ
ใ
์ ๋ฒ ๋์๋ ๋ฐ์์๋๋ฐ ์ด๋ฒ์๋ ๋ฐ๊ฒ ๋๋ฉด์ 2ํ ๋ฐ๊ฒ ๋์๋ค!!
์ด๋ฒ์๋ 1๋ง์์ธ๋ฐ ์คํ๋ฒ
์ค ๋จ๊ณจ๋ก์ ๋๋ฌด ํ๋ณตํ๋ค ๐

๊ทธ๋ฆฌ๊ณ ๋ ์ด์ฌํ ์คํฐ๋๊ทธ๋ฃน ์งํ ์ค์ ์๋๋ฐ ์ปคํผ ์ฟ ํฐ์ ๋ณด๊ธ ๋ฐ์๋ค!!
์ฐ๋ฆฌ๋ ์๊ฒฉ์ฆ ์ค๋นํ๋ ๋ฉค๋ฒ๋ค๋ก ๊ตฌ์ฑ๋์ด ์๋๋ฐ ์ ์ฒ๊ธฐ์ ์ด์ด sqld๊น์ง
๋ค๋ค ์ํํ๊ฒ ์ ํ๊ณ ์๋ ๊ฒ ๊ฐ์ ๋์ฑ ๋ฟ๋ฏํ๋ค.
์ด๋ฒ slqd ๋ ๋ค๋ค ๋ฌด์ฌํ ํต๊ณผํ์ผ๋ฉด ~ ใ
ใ
..

์ด๋๋ง ์ต์ข
ํ๋ก์ ํธ๋ฅผ ํด์ผํ๋ ๋ ๊น์ง ์๋ค !! ์ฐ๋ฆฌํ์ ์ด๋ป๊ฒ ๋ณด๋ฉด ์ฒ์ ํด๋ณด๋ ์ฌ๋๋ค๋ก ๊ตฌ์ฑ์ด ๋์ด ์๊ธฐ ๋๋ฌธ์
์ ํ ์ ์์์ง์ ๋ํด ๊ฑฑ์ ์ด ๋ง์๋ค.
ํ์ง๋ง,
์ด๋ ๊ฒ ๋กํ๋ ์์ ์ ์ญํ ์ ์ถฉ๋ถํ ํด ๋ด๋ ๊ฒ์ ๋ณผ ์ ์์๋ค.
๋๋ ์ด๋ฒ์ AWS๋ฅผ ๋งก์๊ณ ์๋ ๋ฐฐํฌ๊น์ง ์งํํด ๋ณด์๋ค.

๊ฒฐ๊ณผ์ ์ผ๋ก๋ ์ฐ๋ฆฌ์ ๋ฏธ๋ํ๋ก์ ํธ๋ฅผ ์ต์ข
์ ์ผ๋ก ์ฑ๊ณต์ํค๋ฉด์ ์ฌ์ ์ ๊ฒ์ ์๋ฃํ๋ค.
๋ฌผ๋ก ์ด์ ์์์ด๊ธฐ ๋๋ฌธ์ ๊ธด์ฅ์ ๋์ ๋์ณ์๋ ์ ๋๋ค.
ํ ์ ์๋ค. ํด๋ณด์๊ณ !!!๐

์ด ๋ฒ ์ฃผ ํ ์์ผ์ sqld ์ํ์ด ์์๋ค. ๊ณต๋ถ๋ ํ์ง๋ง ๋จผ๊ฐ ์์ฝ๊ฒ ๊ณต๋ถ๋ฅผ ํ๋ ์ํ์ด์๋๋ฐ,
์ผ๋จ ๊ฐ์ฑ์ ์์ผ๋ก๋ ํฉ๊ฒฉ์ธ๊ฑฐ ๊ฐ์ง๋ง .. ์ข ์์ฌ์์ฌํด ๋ณด์ธ๋ค ใ
ใ
๋ด๊ฐ ๊ธฐ์ต์ด ์ ์๋๋ ๊ฒ๋ ์๋ค๋ณด๋..
์ ๋ฐ์ ๋ฐ ใ
ใ
ํ ๋ฒ์ ํฉ๊ฒฉํ์ผ๋ฉฐ์ธ ~~ ..
(ํ์คํ๊ฑด ๋
ธ๋ญ์ด ์ฑ
๋ณด๋ค ํ ์ผ์ฌ ์ฝ๊ฒ ๋ฌธ์ ๊ฐ ์ถ์ ๊ฐ ๋๋ค. ํน์ ๋ค์ sqld ์ํ ์ค๋นํ๋ ์ฌ๋ ์๋ค๋ฉด ์ฐธ๊ณ ํ๊ธธ ~)

sqld ์ํ์ ์น๊ณ ์์ฒญ ์ด์ฌํ ๋์๋ค !! ์๋ ํ์ด ๊น์ฒ๊ตฌ๋ฏธ์์ ์ฌ๋ผ์ค์
์
์ก์ฌ์๋ฏธ๋ฅผ ๋จน์๋ค. ์ฌ๊ธฐ ๊ทธ๋ฅ ๋๋ฌด ๋ง์์๋ค !! ๋ด ์ต์ ์ ์ง ๋ฆฌ์คํธ์ ํฌํจ์ด ๋์๋ค ใ
ใ
(ํ์ฌ ์ด๊ฑธ ์ ๊ณ ์๋ ๋์ ๋จธ๋ฆฌ์ ์ ๋์ด๋ฌด ๊ดด๋กญ๋น ใ
..)
๊ณต๋ถ ์๊ธฐ
1. ์ด๋ฒ ์ฃผ ๋ฐฐ์ด ๊ฒ
์ด ๋ฒ ์ฃผ๋ docker ๋ฅผ ํ์ฉํด์ ํฌ๊ฒ ๋ ๊ฐ์ง๋ฅผ ๋ฐฐ์ ๋ค.
์ฒซ์งธ๋ jenkins๋ฅผ ์ค์นํ์ฌ ํ๋ก์ ํธ ์๋ ๋ฐฐํฌ
๋์งธ๋ docker ํ๋ธ์ ๋์ ์ด๋ฏธ์ง๋ฅผ ์ฌ๋ฆฌ๊ธฐ
์ฐ์ ์ฒซ๋ฒ์งธ jenkins๋ฅผ ์ค์นํด์ ํ๋ก์ ํธ ์๋ ๋ฐฐํฌ์ ๋ํด ์์๋๋ก ์ ๋ฆฌํด๋ณด๊ฒ ๋ค!!
<<jenkins๋ฅผ ํ์ฉํ ์๋๋ฐฐํฌ>>
1. ์๋๋ฐฐํฌ ์ ์ํฌํ๋ก์ฐ ์์ฑ

์ฐ์ ์ AWS๋ฅผ ํ์ฉํด์ ์๋ฒ๋ฅผ ์ด๋ป๊ฒ ๊ตฌ์ฑํ ๊ฒ์ธ์ง ๋ฐ๊ทธ๋ฆผ์ ์์ฑํ๋ค.
์์๋ ์ด ์ธ ๊ฐ์ ์๋ฒ๋ก ๊ตฌ์ฑํ๋ค.
1. jenkins ์ฉ EC2 ์๋ฒ
2. frontend ์ฉ EC2 ์๋ฒ
3. backend ์ฉ EC2 ์๋ฒ
2. jenkins๋ฅผ ํ์ฉํ๊ธฐ ์ํด docker ์ค์น
์ฐ์ , jenkins๋ฅผ ์ค์นํ๊ธฐ ์ํด์๋ jenkins ์ด๋ฏธ์ง๋ฅผ ๊ฐ์ง๊ณ ์๋ docker๋ฅผ ์ค์นํด์ผ ํ๋ค.

3. jenkins ์ด๋ฏธ์ง pull ํด์ ์ปจํ
์ด๋ ์คํ ํ, ์ ํจ์ค ์ฌ์ดํธ ์ ๊ทผ
์ดํ, ๋ด๊ฐ ์ด์ด์ค ํฌํธ๋ก jenkins ์น์ฌ์ดํธ์ ๋ค์ด๊ฐ ์ ์๋๋ก ์ค์ ํ๋ค.
๊ทธ๋ฆฌ๊ณ ๋ด๊ฐ ์ง์ ํ ํฌํธ๋ก ์ ํจ์ค ์๋ฒ์ ์ ๊ทผํ๋ค.

3. ํ์ดํ๋ผ์ธ ์์ฑ๊ณผ ๊ตฌ์ฑ ์ค์

์ด๋ ๊ฒ ์๋ก์ด item์์ ํ์ดํ๋ผ์ธ์ ์์ฑํ๋ค.

์๋ ๋ฐฐํฌ๋ฅผ ์ํด ํ์ดํ๋ผ์ธ ๊ตฌ์ฑ์์ ์ฝ๋๋ฅผ ์์ฑํด์ค๋ค.
4. ์ง๊ธ ๋น๋๋ก ์๋ ๋ฐฐํฌ๊ฐ ์ ๋๋ ์ง ํ์ธ

๊ทธ ๋ค์ ๊ตฌ์ฑ์ ์ค์ ํ ๋๋ก ์ ๋๋์ง ์ง๊ธ ๋น๋๋ฅผ ํตํด ๊ฒ์ฌํ๋ค.
์ฑ๊ณตํ๋ค๋ฉด ์๋๋ฐฐํฌ๊ฐ ๋ฌด์ฌํ ์๋ ๋ ์ ์์์ ์ ์ ์๋ค.
5. ๊น์ ์นํ
์ ์ด์ฉํด์ ์ฐํจ์ค์ ์ฐ๊ฒฐ ํ, ๊น ์
๋ฐ์ดํธ ํ ๋๋ง๋ค ์๋๋ฐฐํฌ ์ค์

์งํํ๊ณ ์๋ ํ๋ก์ ํธ repo์ ๋ค์ด๊ฐ์ setting์ ์๋ Webhooks๋ก ์ฐํจ์ค์ ๊น์ ์ฐ๊ฒฐํด์ค๋ค.
์ฒดํฌ ๋ฌด๋ฌ๊ฐ ๋ณด์ด๋ฉด ์ต์ข
์ ์ผ๋ก ๊น๊ณผ ์ฐ๊ฒฐ์ด ๋์๊ณ , ์
๋ฐ์ดํธ ํ ๋๋ง๋ค ์์์ ์๋๋ฐฐํฌ๊น์ง ์งํํด์ค๋ค.
6. ์ ์ฒด์ ์ธ ์ํฌํ๋ก์ฐ ๊ทธ๋ฆผ

์ต์ข
์ ์ผ๋ก ๋ด๊ฐ ์ฒ์์ ๊ทธ๋ฆฐ ๋ฐ๊ทธ๋ฆผ์ด ์ ์ฌ์ง๊ณผ ๊ฐ์ด ํ์ฑ๋๋ค๊ณ ๋ณผ ์ ์๋ค.
<<docker hub>>
1. ์ด๋ฏธ์งํ ํ ์ ํ๋ฆฌ์ผ์ด์
git์์ ํด๋ก ๋๋ ์๋์ฐ์์ ๊ฐ์ ธ์จ๋ค.
2. ํด๋ก ํ ํ๋ก์ ํธ ๋ด๋ถ๋ก ์ง์
ํ๋ค.
3. Dockerfile ์คํฌ๋ฆฝํธ๋ฅผ ์์ฑ ํด์ค๋ค.
FROM eclipse-temurin:11-jre-alpine
COPY target/*.jar app.jar
ENTRYPOINT ["java","-jar","/app.jar"]
*Maven ๊ฒฝ์ฐ jar ํ์ผ์ด target/ ํด๋์ ์์ฑ๋๊ธฐ ๋๋ฌธ์ target/ ์ด์ง๋ง Gradle ์ธ ๊ฒฝ์ฐ build/ ํด๋์ ์์ฑ๋๊ธฐ ๋๋ฌธ์
target/ ๋์ ์ build/ ๋ก ์์ฑํด์ผํ๋ค.
COPY
build/*.jar app.jar
3. ์ด๋ฏธ์ง ๋น๋
docker build -t spring-image2 .
4. ๋์ปค ํ๋ธ์์ Create Repository ํ๊ธฐ

5. ๋์ปค ํ๋ธ์ ์ด๋ฏธ์ง push
5-1 . ๋์ปค์ ๋ก๊ทธ์ธ ํ๋ค.
docker login --username parkkjjiihho
5-2. ์ด๋ฏธ์ง๋ฅผ repo์ push ํ๊ธฐ ์ํด์๋ ์ด๋ฏธ์ง ์ด๋ฆ ์์ ๋์ปค ๊ณ์ ๋ช
์ ๋ํ ์ฐธ์กฐ๋ฅผ ์ถ๊ฐ ํด์ผํ๋ค.
docker tag spring-image2 {Docker ๊ณ์ ์ด๋ฆ}/spring-image2
5-3. push ์งํ
docker push parkkjjiihho/spring-image2
6. ์ต์ข
์ด๋ฏธ์งํ ํ์ธ

2. ์ด๋ฒ ์ฃผ ์ํ์ฐฉ์ค
์ด ๋ฒ ์ฃผ์ ์ํ์ฐฉ์ค๋ ์๊ฒฉ์ฆ ๊ณต๋ถ๋ก ์ธํ ์คํธ๋ ์ค๊ฐ ์๋๊น ์ถ๋ค ใ
ใ
์๊ฒฉ์ฆ๋ ์ค์ํ ๊ฒ์ด์ง๋ง ์ฐ์์ ์ธ ์๊ฒฉ์ฆ ์ค๋น๋ก ์ธํด
์ฝ๊ฐ ์ง์น ๋๋ฅผ ๋ณผ ์ ์์๋ค. ์์ฆ ๋๋ฌด ๋ฌด๋ฆฌํด์ ์ด๊ฒ ์ ๊ฒ ํ๋ค๋ณด๋ ๊ทธ๋ฐ ๋ฌธ์ ๊ฐ ๋ฐ์ํ ๊ฒ ๊ฐ๋ค. ๊ทธ๋๋ ๋๊น์ง ํ๊ณ ์ํ๋ ๋ฌด์ฌํ ์น๋ค๋ค!! ๊ทธ๋ฆฌ๊ณ ์ด ๋ฒ ์ฃผ๋ง์ ์กฐ๊ธ ํน ์ฐ๊ฑฐ ๊ฐ๋น ๋ค์ ์ ๋๋ก ํ๋ณตํ๊ณ ๋ค์ ์ฃผ ๋ ํ์ดํ
๋์น๊ฒ ๋ค์ ๋จ๊ณ๋ฅผ ๋ฐ์ ๋ณผ ์์ ์ด๋ค.
3. ์์ผ๋ก ์ด๋์ ์ ์ฉ
jenkins ๋ฅผ ํตํ ์๋๋ฐฐํฌ๋ก ์ธํด์ ์
๋ฐ์ดํธ ๋ง๋ค ์ผ์ผ์ด ํด๋ก ํด์ฃผ๊ณ ์คํ ์ํค๋ ๋ฐ๋ณต๋ ์์
์ ์ค์ฌ์ฃผ์๋ค.
์์ผ๋ก ์ฐ๋ฆฌ๋ค๋ง์ ๋๊ท๋ชจ ํ๋ก์ ํธ๋ฅผ ์งํํ ๊ฒ์ด๊ณ , ์ด๋ฅผ ํตํด ๊ณ์ํด์ ์
๋ฐ์ดํธ๋ฅผ ์งํํ ๊ฒ์ธ๋ฐ, jenkins๋ฅผ ์ ํ์ฉํ์ฌ
์ฐ๋ฆฌ์ ์์
์๋๋ฅผ ๋์ฌ ์ค ๊ฒ์ผ๋ก ๊ธฐ๋๊ฐ ๋๋ค !!
docker image ํ ํ์ฌ ๊ณต์ ํ๋ ๊ฒ ์ญ์ ํฅํ ๋ด๊ฐ ๋ง๋ ์ ํ๋ฆฌ์ผ์ด์
์ด๋ ๋ค๋ฅธ ์ฌ๋์ด ๋ง๋ ์ ํ๋ฆฌ์ผ์ด์
์ ์ฝ๊ฒ pull ํด์ ๊ณต์ ํ ์ ์๋ค๋ ์ ์์ ํ์
์ด ์ฆ์ ๊ฐ๋ฐ ํ๋ก์ ํธ์ ์ ์ฉํ๊ฒ ์ฌ์ฉํ ์ ์์ ๊ฒ์ด๋ค.
4. ํ์ฌ๊น์ง์ ํ์ต ํ๊ฐ ๋ฐ ๋ค์ ํ์ต์ ์ํ ๋ค์ง/๋ชฉํ
- ๋ฐฑ์ค๋ -
์๊ฒฉ์ฆ ๋ฑ์ผ๋ก ๋ฏธ๋ค๋์๋ ๊ณต๋ถ๋ฅผ ๋ค์ ์ฌ๊ฐ ํด์ ๋ง๋ฌด๋ฆฌ ํ ์์ ์ด๋ค.
- ํ๋ก ํธ ์ค๋ -
์ด ์ญ์ ์ฌ๋ฌ๋ชจ๋ก ๋ค๋ฅธ ์ด์ ๋ก ์ธํด ์ ์ ๋ฏธ๋ค๋๋๋ฐ ์ด์ ๋ค์ ์ค์ผ์ค์ ์ก๊ณ ์งํํ ์์ ์ด๋ค.
- ํ๋ก์ ํธ -
์ด๋ฒ ์ฃผ ๋ฏธ๋ ํ๋ก์ ํธ๋ฅผ ์งํํ๋ฉด์ ์ฐ๋ฆฌ๊ฐ ํด์ผํ ๋ฐฉํฅ์ ๋ํด ์กฐ๊ธ ๋ ๊น๊ฒ ๋ค์ด๊ฐ ๋ณด์๋ค.
๋ค์ ์ฃผ๋ ์กฐ๊ธ ๋ ๊ตฌ์ฒด์ ์ผ๋ก ์ง์
ํ๋ฉด์ ์ด๋ค ๋ฐฉ์์ผ๋ก ๊ฐ๋ฐํ๊ณ , ๋ฌธ์ํ๋ ์ด๋ป๊ฒ ํ ๊ฒ์ธ์ง ์๋
ผํ๊ณ
ํ๋ก์ ํธ ์ด์์ ์ก์๋ณผ ์์ ์ด๋ค.
- ์ ์ฒ๊ธฐ ์ค๊ธฐ -
์ผ๋จ์ ๋ฐ๋ก ์์ ์ ํ๊ณ ํ ์ฃผ ์ฌ๊ณ ๋ฐ๋ก ์งํํ ์์ ์ด๋ค.
- ๋์๊ฒ 10๋ถ ํฌ์ -
์ด๋ฏธ์ง๋ ๋ด๊ฐ ๋ง๋๋ ๊ฒ์ด๋ค. ํธ๊ฒฌ์ ๋ง๋๋ ํ๋์ ํ์ง ์๋๋ก ํ๊ฒ ๋ค.
- ์ฝ๋ฉ ํ
์คํธ -
๋ช ์ผ ๋์ ๋ชปํ๋๋ฐ ์ด์ ๋ ์ ๋๋ก ํ ๋ฒ ๋ฌ๋ ค๋ณผ ๊ฒ์ด๋ค !! ๋งค์ผ 2๊ฐ ๋ค์ ์์ํด๋ณด์ ^^
๋ค์ ํ ์ฃผ ๊ฑฐํ๊ฒ ํ์ดํ
!!๐โ๏ธ
'๋์ ๋ค์ง,๊ธฐ๋ก,์ผ์ > ์ฐ๋ฆฌFISA2๊ธฐ_์ฑ์ฅ๊ธฐ๋ก' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
์ฐ๋ฆฌ fisa 2๊ธฐ 'ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ' 18์ฃผ์ฐจ (2) | 2024.03.24 |
---|---|
์ฐ๋ฆฌ fisa 2๊ธฐ 'ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ' 17์ฃผ์ฐจ (5) | 2024.03.17 |
์ฐ๋ฆฌ fisa 2๊ธฐ 'ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ' 15์ฃผ์ฐจ (7) | 2024.03.03 |
์ฐ๋ฆฌ fisa 2๊ธฐ 'ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ' 14์ฃผ์ฐจ (9) | 2024.02.25 |
์ฐ๋ฆฌ fisa 2๊ธฐ 'ํด๋ผ์ฐ๋ ์๋น์ค ๊ฐ๋ฐ' 13์ฃผ์ฐจ (107) | 2024.02.18 |
๋๊ธ