ํด๋ผ์ฐ๋๋ ์ธํฐ๋ท์ ํตํด ์ธ์ ์ด๋์๋ ์ ์ํ ์ ์๋ ํ๊ฒฝ์ผ๋ก, ๋ฌผ๋ฆฌ์ ์๋ฒ๋ ์ธํ๋ผ๊ฐ ํด๋ผ์ฐ๋ ์๋น์ค ์ ๊ณต์์ ์ํด ๊ด๋ฆฌ๋๋ค.ํด๋ผ์ฐ๋ ์ปดํจํ
์ ์ฌ์ฉํ๋ฉด ์ฌ์ฉ์๋ ๋ณต์กํ ์ธํ๋ผ ๊ด๋ฆฌ ์์ด ํ์ํ ๋ฆฌ์์ค๋ฅผ ์ ๊ณต๋ฐ์ ์ ์๋ค. ์จํ๋ ๋ฏธ์ค: ์์ฌ๊ฐ ์ง์ ์๋ฒ๋ฅผ ๊ตฌ์ถํ๊ณ ์ด์ํ๋ ๋ฐฉ์. ๋ฐ์ดํฐ ์ผํฐ์ ์๋ฒ๋ฅผ ๋๊ณ , ๋ชจ๋ ์ธํ๋ผ๋ฅผ ์ง์ ๊ด๋ฆฌํ๋ค.์ฅ์ : ํ์ฌ์ ์๊ตฌ์ฌํญ์ ๋ง๊ฒ ์์ ๋กญ๊ฒ ์ค๊ณํ๊ณ ์ด์ํ ์ ์๋ค.๋จ์ : ์ด๋ฅผ ๊ด๋ฆฌํ๋ ค๋ฉด ์๋ จ๋ ๊ธฐ์ ์๊ฐ ํ์ํ๋ฉฐ, ์๋ฒ๋ฅผ ์์ฃผ ๋ณ๊ฒฝํ๋ ๊ฒฝ์ฐ์๋ ๊ด๋ฆฌ๊ฐ ์ด๋ ค์ธ ์ ์๋ค.์คํํ๋ ๋ฏธ์ค: ๋ฌผ๋ฆฌ์ ์ธํ๋ผ๋ฅผ ์๋ํ๊ฑฐ๋ ๊ณต์ฉ ํด๋ผ์ฐ๋๋ฅผ ์ฌ์ฉํ๋ ๋ฐฉ์. ํด๋ผ์ฐ๋ ์ ๊ณต์๋ ์ธํ๋ผ๋ฅผ ๊ด๋ฆฌํ๊ณ , ์ฌ์ฉ์๋ ์ด๋ฅผ ์๋ํ์ฌ ์ด์.ํด๋ผ์ฐ๋์ ๊ท์ ์ ๋ฐ๋ผ ์ฌ์ฉํด์ผ ํ๋ฏ๋ก ์์ ํ ์์ ๋๋ ์๋ค.๊ด๋ฆฌ..
FISA๋ฅผ ํ๋ฉด์ ์ธ๋ฏธ๋๋ฅผ ํ ๊ธฐํ๊ฐ ์๊ฒผ๋ค. ๋ณต์ต ํ ๊ฒธ, ์ ๋ฆฌํ ๊ฒธ AWS์ ๋ํด์ ์ ๋ฆฌํ๊ณ ์ ํ๋ค. AWS๋? ํด๋ผ์ฐ๋ ์ปดํจํ
์๋น์ค: ์๋ฒ๋ ๋คํธ์ํฌ๋ฅผ ์ธํฐ๋ท์ผ๋ก ๋น๋ ค์ ์ฌ์ฉํ ์ ์๊ฒ ํ๋ ์๋น์ค ํน์ง๋ค์ํ ์๋น์ค๋ฅผ ์ด์ฉ ๊ฐ๋ฅ์ธ๋ถ ์์คํ
๊ณผ ์ฐ๋ ๊ฐ๋ฅ์ข
๋์ -> ํ์ํ ๋งํผ ์ฌ์ฉ ๊ฐ๋ฅ์
๋ฌธ ๋์ด๋๊ฐ ๋ฎ๋ค๋ณด์์ฑ์๋ฒ ์์ ์ด์ ์ ๋ฐฉํ๋ฒฝ ๋ฑ์ ์ฌ์ฉํ์ฌ ๋ณด์ ๋์ฑ
์ด ํ์์ ์ด๋ค. ์ด๋ฅผ ์ ๋ฌธ์ง์ ์์ด ํ์ฉํ๊ธฐ์๋ ํ๋ค๋ค. -> aws๋ฅผ ํตํด ์ผ์ ์์ค ์ด์์ ์์ ํ ์ํ ์ด์ ๊ฐ๋ฅ์ฌ๋ฌ ๋ฆฌ์ ์ ๊ฐ์ฉ ์์ญ์ ์ด์ ๊ฐ๋ฅํ๋คmanaged service์ธ ๊ฒฝ์ฐ๊ฐ ๋ง๋ค. -> ๊ด๋ฆฌ ์๋ -> ๋น์ฉ์ฆ๊ฐ๋ผ๋ ๋จ์ ๋ ์กด์ฌ ๋ฐ๋ผ์, ์ ์ ํ๊ฒ ์ฌ์ฉํ๊ณ monitoring ํด์ผ ํ๋ค. ์๋น์ค ๋ชฉ์ ์ ๋ฐ๋ผ ๋ค์ํ ์๋น์ค๋ฅผ ์ฌ์ฉํ ..
์ด๋ฏธ์น๋ ๊ณ์ธต์ ์ผ๋ก ์ ์ฅ๋๋ค. (์ด๋ฏธ์ง ๋ ์ด์ด)์ด๋ฏธ์ง๋ฅผ ์ ๊ณตํ๋ ์ ์ฅ์๋ฅผ ๋ ์ง์คํธ๋ฆฌ๋ผ๊ณ ํ๋ค. ๋ฌด๋ฃ ๋ ์ง์คํธ๋ฆฌ๋ก ๋์ปค ํ๋ธ ์กด์ฌ --name ํ๋๊ทธ๋ฅผ ํตํด ์ปจํ
์ด๋์ ์ด๋ฆ์ ๋ถ์ด๊ณ , ์ด๋ฅผ ํตํด ์ปจํ
์ด๋๋ฅผ ์ง์นญํจ HTTP ์์ฒญ์ ๊ตฌ๊ธ๋ก ๋ณด๋ธ๋ค. ํ๊ฒฝ ๋ณ์๋ ์ด์์ฒด์ ์์ ์ ๊ณตํ๋ ํค-๊ฐ ์์ด๋ค. ๋์ปค ์ปจํ
์ด๋๋ ๋ณ๋์ ํ๊ฒฝ๋ณ์๋ฅผ ๊ฐ์ง ์ ์๋๋ฐ, ์ด์์ฒด์ ๊ฐ ์๋ ๋์ปค๊ฐ ๋ถ์ฌํด ์ค๋ค.ํธ์คํธ ์ปดํจํฐ์ ํ๊ฒฝ๋ณ์๋ ์ปจํ
์ด๋์ ๋ณ๊ฐ์ด๋ค. ์ปจํ
์ด๋๋ ์ค์ง ๋์ปค๊ฐ ๋ถ์ฌํ ํ๊ฒฝ๋ณ์๋ง์ ๊ฐ๋๋ค. ๋์ปค ์ด๋ฏธ์ง๋ ์ค์ ๊ฐ์ ๊ธฐ๋ณธ๊ฐ์ ํฌํจํด ํจํค์ง๋์ง๋ง, ์ปจํ
์ด๋๋ฅผ ์คํํ ๋ ์ด ์ค์ ๊ฐ์ ๋ฐ๊ฟ ์ ์์ด์ผ ํ๋ค.์ด๋ฅผ ํ๊ฒฝ๋ณ์๋ก ๊ตฌํํ๊ณ , ๋์ผํ ์ปจํ
์ด๋์ ์ ํ๋ฆฌ์ผ์ด์
์ด์ง๋ง, ์ค์ ๊ฐ์ ์ํด ๋์์ด ๋ฌ๋ผ์ง๋ ๊ฒ์ ๋ณผ ์ ์๋ค.Doc..
๋ก์ปฌ์ ์ด๋ฏธ์ง๊ฐ ์์ด์ unable to find image locally → ๋์ปค๊ฐ ํด๋น ์ด๋ฏธ์ง๋ฅผ ๋ด๋ ค๋ฐ์๋ด๋ ค๋ฐ๊ณ ํด๋น ์ด๋ฏธ์ง๋ก ์ปจํ
์ด๋๋ฅผ ์คํํ๋ค. ์ด ๊ณผ์ ์์ ๋์ปค ์ํฌํ๋ก ๊ณผ์ ์ดํด ๊ฐ๋ฅ (๋น๋-๊ณต์ -์คํ ์์ปคํ๋ก)์ ์์๊ฐ ์ ํ๋ฆฌ์ผ์ด์
์ ์ปจํ
์ด๋์์ ์คํํ ์ ์๋๋ก ํจํค์งํ๊ณ ๊ณต์ ํ ๊ฒ์ ๋ด๊ฐ ๋ด๋ ค๋ฐ์์ ์คํํ๋ค.์ฌ์คํ ์ ์ด๋ฏธ์ง๋ฅผ ๋ค์ด๋ฐ์ง ์๊ณ , ์ปจํ
์ด๋๋ง ์คํํ๋ค.์ถ๊ฐ๋ก, ์ปจํ
์ด๋๋ฅผ ๋ค์ ์คํํ๊ธฐ์, ์ปดํจํฐ ์ด๋ฆ์ด ๋ฐ๋๊ฒ์ ํ์ธ ๊ฐ๋ฅ ์ปจํ
์ด๋๋ ์ ํ๋ฆฌ์ผ์ด์
์ ๋ด๊ณ ์๋ ์์์ด๋ค.์ปจํ
์ด๋๋ ์๋ก ๋
๋ฆฝ์ ์ธ ํ๊ฒฝ์ ๊ฐ๊ณ , ํด๋น ์ปจํ
์ด๋๋ฅผ ์คํํ๋ ์ปดํจํฐ์ ์ด์์ฒด์ ๋ฅผ ๊ณต์ ํ๋ค.ํธ์คํธ๋ช
, IP์ฃผ์, ํ์ผ ์์คํ
๋ชจ๋ ๋์ปค๊ฐ ์์ฑํ ๊ฐ์ ๋ฆฌ์์ค์ด๋ค. ์ด๋ค์ด ์ฎ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ด ๋์ํ ์ ์๋ ํ๊ฒฝ์ด ๋ง..
๋์ปค๋ Paas์ ์ฅ์ ์ธ ์ด์๋น์ IaaS์ ์ฅ์ ์ธ ์ด์์ฑ์ ๋ชจ๋ ๋๋ฆด ์ ์๋ค.PaaS์ ์ด์ ํจ์จ์ฑ: ์ปจํ
์ด๋๋ ๊ฐ๋ฒผ์ด ๊ฐ์ํ ํ๊ฒฝ์ผ๋ก, ์ ํ๋ฆฌ์ผ์ด์
๊ณผ ํ์ํ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ง ํฌํจํ๋ฏ๋ก ๋ฆฌ์์ค ์ฌ์ฉ์ด ํจ์จ์ ์ด๋ฉฐ, ์ด์์ฒด์ ๋ฅผ ๊ณต์ ํ๊ธฐ ๋๋ฌธ์ PaaS์ฒ๋ผ ์ด์๋น๋ฅผ ์ ๊ฐํ ์ ์๋ค.IaaS์ ์ด์์ฑ: Docker ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ๋ฉด ๋์ผํ ํ๊ฒฝ์ ๋ค์ํ ํ๋ซํผ์์ ์คํํ ์ ์๊ณ , ๊ฐ๋ฐ ํ๊ฒฝ๊ณผ ์ด์ ํ๊ฒฝ ๊ฐ์ ์ฐจ์ด๋ฅผ ์ ๊ฑฐํด “ํ ๋ฒ ๋น๋ํ๋ฉด ์ด๋์๋ ์คํ” ๊ฐ๋ฅํ๊ฒ ๋ง๋ ๋ค.์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ ์ปดํฌ๋ํธ๋ ์ปจํ
์ด๋์์ ๋์ํ๋ฉฐ, ๊ฐ์ ๋จธ์ ์ฒ๋ผ ๋
๋ฆฝ์ ์ด์ง๋ง ๊ฒฝ๋์ด๋ฉฐ PaaS์ ๋งค๋์ง๋ ์๋น์ค๋งํผ ํจ์จ์ ์ด๋ค. ๋์ปค๋ฅผ ์ฌ์ฉํ๋ฉด ๊ธฐ์กด์ ๋ชจ๋๋ฆฌ์ ์ ํ๋ฆฌ์ผ์ด์
์ ๊ฐ ๊ธฐ๋ฅ์ ๋ถ๋ฆฌํ์ฌ ๊ฐ๋ณ ์ปจํ
์ด๋๋ก ์คํํ ์ ์๊ณ , ์ด๋ฅผ ํตํด ..
์บก์คํค์์ SpringBoot, MongoDB๋ฅผ ์ฌ์ฉํด์ ๋ฐฑ์ค๋ ์๋ฒ ๊ฐ๋ฐ์ ํด์ผํ๋ค.๋ด๊ฐ ์ธํ๋ผ๋ฅผ ๋งก๊ธฐ๋ก ํด์ CI/CD๋ฐ ์ธํ๋ผ๋ฅผ ์๋ฃํ์๋ค.๊ธฐ๋กํ ๊ฒธ ๋ธ๋ก๊ทธ์ ์ ๋ฆฌํด๋ณด์๋ค.EC2๋ MongoDB, SpringBoot ์ฌ์ฉํ ๊ฒ์ด๊ธฐ์, ์ถ๊ฐ๋ก 8080ํฌํธ์ 27017 ํฌํธ๋ฅผ ์ด์ด์ฃผ์๋ค.๊ทธ๋ฆฌ๊ณ t2.micro๋ง๊ณ t3a.small์ ์ฌ์ฉํ์๋ค. t2.micro๋ ๋๋ฌด ์๋ค...https://start.spring.io/์คํ ์ ๋๋ค.์ด์ ๊นํ๋ธ์ ์ฐ๊ฒฐํด์ฃผ์๋ ํฌ์งํ ๋ฆฌ ์์ฑํ๊ณ git initgit add README.mdgit commit -m "first commit"git branch -M maingit remote add origin git@github.com:seongjju/seongjju-web-..
3. Docker + ๋ฐฑ์๋(Spring Boot) ํ๋ก์ ํธ์ CI/CD ์ ์ฉํ๊ธฐ 2๊ฐ์ง ๋ฐฉ๋ฒ ์กด์ฌDocker: ์ปจํ
์ด๋ ๊ธฐ๋ฐ ํ๋ก์ ํธDocker, CodeDeploy: ์ปจํ
์ด๋ + ํ์ฅ์ฑ ๊ณ ๋ คํ ํ๋ก์ ํธ 1. Docker: ์ปจํ
์ด๋ ๊ธฐ๋ฐ ํ๋ก์ ํธ์ ์ฒด ํ๋ฆ์ฅ์ Docker ๊ธฐ๋ฐ ์๋น์ค ์ด์ ์, ๊ฐ๋จํ๊ฒ ๊ตฌ์ฑ ๊ฐ๋ฅํ ์ธํ๋ผ ๊ตฌ์กฐ๋จ์ ๋ฌด์ค๋จ ๋ฐฐํฌ ๊ตฌํ or ์ฌ๋ฌ EC2์ ๋ฐฐํฌํด์ผ ํ๋ค๋ฉด, ์ง์ Github Actions์ ์คํฌ๋ฆฝํธ ์์ฑ, ๊ตฌํ ํ์ -> ๋ณต์ก์ฌ์ฉ์ปจํ
์ด๋ ๊ธฐ๋ฐ ์ธํ๋ผ ๊ตฌ์ฑ ์์๊ท ๋ชจํ๋ก์ ํธ์ค์ต 1EC2์ Docker ์ค์น, ECR ์ธํ
Ubuntu์์ Docker, Docker Compose ์ค์น$ sudo apt-get update && \ sudo apt-get install -y apt-t..
1. CI/CD ๊ธฐ๋ณธ ๊ฐ๋
/ Github Actions ๊ธฐ๋ณธ ๊ฐ๋
1. CI/CDContinuous Integration, Continuous Deployment๋ฐฐ์ฐ๋ ์ด์ ์๋น์ค ์ด์ ์ ์๋ก์ด ๊ธฐ๋ฅ ํ์์ด์ ๋ฐ๋ผ, ์ฝ๋ ์์ฑ -> Commit -> Merge -> ๋ฐฐํฌ๋งค์ฐ ๊ท์ฐฎ๋ค -> ์ด๋ฐ ๋ฐ๋ณต์ ์ธ ๊ณผ์ ์ ์๋ํ 2. Github Actions์ ๋ฒ์ ์ ํจ์ค๋ฅผ ํ์ฉํ์๋๋ฐ, ์ด๋ฒ์๋ Github Actions๋ฅผ ๊ณต๋ถํด๋ณด์https://koreatstm.tistory.com/140๋ก์ง์ ์คํ์ํฌ ์ ์๋ ์ผ์ข
์ ์ปดํจํฐ์ ํจ์ค์ ๊ฒฝ์ฐ, ๋ณ๋ ์๋ฒ๊ฐ ํ์ํ์ง๋ง, Github Actions๋ ์๋ฒ ๊ตฌ์ถ ์์ด ๋ด์ฅ๋ Github Actions ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ๋๋ค. ๋น์ฉ๋ ์ข๊ณ , ์
ํ
ํ๋๋ฐ ์๊ฐ๋ ์ ์ฝCI/CD ..