๐ ๋ฐฐ์ด ๊ฒ
๋ฐฑ์๋(Spring) ๋ฐฐํฌ ๋ฐฉ๋ฒ ๊ณ ๋ฏผ
์ด์ ๋ FE ๋ฐฐํฌ๋ฅผ ํ์๋ค. ์ค๋์ BE๋ฅผ ๋ฐฐํฌํ๋ค. ์์ง ์ด๊ธฐ ํ๋ก์ ํธ ์ธํ ๋ง ํ๊ณ ๊ตฌํ ์ฝ๋๋ ์์ง๋ง CI/CD ์๋ํ ๋ฐฐํฌ๋ฅผ ๊ตฌ์ถํ ๋ค ํ๋ก์ ํธ ๊ธฐ๋ฅ์ด ์ถ๊ฐ๋ ๋ ๋ง๋ค ๋ฐฐํฌํ๊ณ ์ถ์ด์์๋ค.
์ ์ฝ ์ฌํญ
- ๋น์ฉ(aws ํ๋ฆฌํฐ์ด)
๊ณ ๋ฏผํ ๋ฐฐํฌ๋ ์๋์ ๊ฐ๋ค.
Case 1 : Docker + Docker hub
๋์ปค ์ด๋ฏธ์ง๋ฅผ ๋์ปค ํ๋ธ์ ์ฌ๋ ค ์ฌ์ฉํ๋ค. ์ด์ ํ๋ก์ ํธ๋ฅผ ์ด ๋ฐฉ๋ฒ์ผ๋ก ๋ฐฐํฌํ๋ค.
์ฅ์
- ๊ฐ๋จํ๋ค
- DockerFile๋ง ๋ง๋ค๋ฉด ๋๋๋ค.
- Docker ํ๊ฒฝ์ด๋ผ ๋ฐฐํฌ๊ฐ ์์ ๋กญ๋ค.
- ์ด๋ฏธ์ง ์ ์ฅ์ free
๋จ์
- ๋ฌด๋ฃ๋ก ์ฌ์ฉํ๋ฉด ๋ฐฐํฌ ์ด๋ฏธ์ง๊ฐ ๋ ธ์ถ๋๋ค.
- ๋จ์ EC2 ์คํ ์ค์ผ์ผ๋ง์ ํ๋ค๋ฉด ๋ชจ๋ EC2์ ๋์ปค๊ฐ ์ค์น๋ ๋ค ๊ทธ ์์ ์ฌ๋ผ๊ฐ์ผ ํ๋ค.
Case 2 : Docker + S3
Case1 ๊ณผ์ ์์ ์ด๋ฏธ์ง ์ ์ฅ์๋ฅผ DockerHub๊ฐ ์๋ S3์ ์ ์ฅํ์ฌ ์ฌ์ฉํ๋ค.
์ฅ์
- ์ด๋ฏธ์ง ์ ์ถ์ ๋ง๋๋ค
๋จ์
- S3 ๋น์ฉ ๋ฐ์
Case 3 : CodeDeploy + S3
docker์ jar ์ฌ๋ฆฐ ์ด๋ฏธ์ง ๋ง๋ค์ง ์๊ณ , ์ง์ jar ํ์ผ์ ๋ฐฐํฌํ๊ธฐ(์ด ๋ฐฉ๋ฒ์ docker์ ์ฌ๋ฆด ์ ์๊ฒ ์ง๋ง)
์ฅ์
- ec2๋ง๋ค ๋ณ๋์ docker ์ค์นํ์ง ์์๋ ๋จ
- ์คํ ์ค์ผ์ผ๋ง ๊ธฐ๋ฅ ์ฌ์ฉํ๊ธฐ ํธํจ, ์ ๋์ IP ๋์๋ ์ฌ์
- ELB ํธ๋ํฝ ์ ์ด๋ ๊ฐํธํ๋ค
๋จ์
- S3 ๋น์ฉ ๋ฐ์
- ๋จ์ jar๋ Docker๊ฐ ๊ฐ์ง๋ ํ์ฅ์ฑ์ด ์๋ค.(?) (AWS์ EKS ์ฌ์ฉ)
CodeDeploy ๋ฐฐํฌ ์ฐ์ต๊ณผ AutoScaling ์ฐ์ต ๊ฒธ Case 3์ผ๋ก ๊ฒฐ์ ํ๊ณ ๋ฐฐํฌํ์๋ค.
Github Actions๊ณผ PR ์ ์ถ ์๋ฃ
+a) ๋ฐฐํฌ ์ ์์ ํจ๊ปํด์ค ์ ๋ฆฌ, ๋ฃจ์๋์ ๊ตฌ๊ฒฝํด์ค ๋ฉค๋ฒ๋ค ๋ชจ๋ ๊ฐ์ฌํฉ๋๋ค.
๐ฅProblem
- ์ค๊ฐ์ ์์ฌ๊ณ ๊ณ์ํ๋ ์ง์ค๋ ฅ์ด ๋จ์ด์ง๋ค.
๐ Try
- ๊ผญ ์ฌ๋ฉด์ ํด์ผ๊ฒ ๋ค.
๋๊ธ0