์ง๋ผ์ธ(Zipline)์ "์ง(Home)"๊ณผ "๋ผ์ธ(Line)"์ ํฉ์ฑ์ด๋ก, ๊ณต์ธ์ค๊ฐ์ฌ๊ฐ ๋ถ๋์ฐ๊ณผ ๊ณ ๊ฐ์ ์ต์ ์ ๊ฒฝ๋ก๋ก ์ฐ๊ฒฐํ๋ ๋ค๋ฆฌ ์ญํ ์ ํ ์ ์๋๋ก ๋์ต๋๋ค.
๋์๋ณด๋ ํ๋ฉด์์ ๊ณ์ฝ, ๊ณ ๊ฐ, ์๋ด ํํฉ์ ์์ฝํด ์ ๊ณตํ์ฌ, ์ค๊ฐ์ฌ๊ฐ ํ์ฌ ์ ๋ฌด ์ํฉ์ ํ๋์ ํ์ ํ ์ ์๋๋ก ๋์ต๋๋ค.
์ฃผ๊ฐ/์๊ฐ ๋จ์๋ก ๊ณ์ฝ ์ผ์ ๊ณผ ์๋ด ์ผ์ ์ ์กฐํํ๊ณ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ์ผ์ ์ ์ถ๊ฐ, ์์ , ์ญ์ ํ๋ ๊ธฐ๋ฅ์ ํตํด ์ฒด๊ณ์ ์ธ ์ค์ผ์ค ๊ด๋ฆฌ๋ฅผ ์ง์ํฉ๋๋ค.
์ ๊ท ๊ณ ๊ฐ ์ ์ ์ ํ์ํ ์ ๋ณด๋ฅผ ์ฌ์ ์ ์์งํ ์ ์๋ ์ค๋ฌธ ๊ธฐ๋ฅ์ ์ง์ํฉ๋๋ค.
QR์ฝ๋ ๋ฐ URL ๋งํฌ๋ฅผ ํตํด ๊ฐํธํ๊ฒ ์ค๋ฌธ์ ๋ฐฐํฌํ๊ณ , ์ ์ถ๋ ๋ต๋ณ์ ํตํด ๊ณ ๊ฐ์ ๋์ฆ๋ฅผ ๋น ๋ฅด๊ฒ ํ์ ํ ์ ์์ต๋๋ค.
๊ณ ๊ฐ๊ณผ ๋งค๋ฌผ ๊ฐ์ ๊ณ์ฝ ๊ณผ์ ์ ์ฒด๊ณ์ ์ด๊ณ ํจ์จ์ ์ผ๋ก ๊ด๋ฆฌํฉ๋๋ค.
๊ณ ๊ฐ๊ณผ์ ์๋ด ๊ธฐ๋ก์ ๋ฑ๋กํ๊ณ ์กฐํํ ์ ์์ผ๋ฉฐ, ์๋ด ์ผ์๋ ๊ณ ๊ฐ ์ ๋ณด๋ฅผ ๊ธฐ์ค์ผ๋ก ๋น ๋ฅด๊ฒ ๊ฒ์ํ ์ ์์ต๋๋ค.
๋งค๋ฌผ์ ๋ฑ๋กํ๊ณ , ์์ธ ์กฐ๊ฑด(๊ฐ๊ฒฉ, ๋ฉด์ , ๋ฐ๋ ค๋๋ฌผ ์ฌ๋ถ ๋ฑ)์ ๊ธฐ์ค์ผ๋ก ์กฐํ ๋ฐ ํํฐ๋งํ ์ ์์ผ๋ฉฐ, ๋งค๋ฌผ ํ์คํ ๋ฆฌ๋ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๊ณ ๊ฐ ์ ๋ณด๋ฅผ ๋ฑ๋กํ๊ณ , ๋ค์ํ ํํฐ๋ง ๋ฐ ๋ผ๋ฒจ๋ง ๊ธฐ๋ฅ์ ํตํด ๊ณ ๊ฐ์ ์ฒด๊ณ์ ์ผ๋ก ๋ถ๋ฅ ๋ฐ ๊ด๋ฆฌํ ์ ์์ผ๋ฉฐ, ๊ณ ๊ฐ๋ณ ๊ณ์ฝ/์๋ด/๋งค๋ฌผ ๋ด์ญ๋ ์์ฝ๊ฒ ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
๋จ์ฒด ๋ฌธ์ ๋ฐ์ก, ๋ฌธ์ ํ ํ๋ฆฟ ๊ด๋ฆฌ, ์์ผ ๋ฐ ๊ณ์ฝ ๊ธฐ๊ฐ ๋ง๋ฃ ์ ์๋ฆผ ๋ฌธ์ ๋ฐ์ก ๊ธฐ๋ฅ์ ํตํด ๊ณ ๊ฐ ์ปค๋ฎค๋์ผ์ด์ ์ ์์ฝ๊ฒ ์๋ํํ๊ณ ๊ด๋ฆฌํ ์ ์๋๋ก ํฉ๋๋ค.
์ธ๋ถ ๋ถ๋์ฐ ํ๋ซํผ(๋ค์ด๋ฒ, ์ง๋ฐฉ)์์ ๋งค๋ฌผ ์ ๋ณด๋ฅผ ํ์ธํ ์ ์๋๋ก ํ์ฌ, ์ค๊ฐ์ฌ์ ์ ๋ณด ์์ง ์ ๋ฌด๋ฅผ ๊ฐํธํ๊ฒ ๋ง๋ญ๋๋ค.
โ GithubAction + DockerHub CI/CD Process
1. GitHub Actions + DockerHub
apiserver์ crawlerserver ๋ฉํฐ๋ชจ๋ ํ๋ก์ ํธ์ ๋ฐฑ์๋ ๋ฐฐํฌ๋ฅผ ์๋ํ. ํต์ฌ ๊ธฐ๋ฅ:
1. ์ฝ๋ ๋ณ๊ฒฝ ๊ฐ์ง: dev ๋๋ test ๋ธ๋์น์ ํธ์๋๊ฑฐ๋ PR์ด ์์ฑ๋๋ฉด CI/CD ์ํฌํ๋ก์ฐ๊ฐ ์๋์ผ๋ก ์์๋ฉ๋๋ค.
2. ์๋ํ๋ ํ
์คํธ ๋ฐ ๋น๋: ๊ฐ ๋ชจ๋์ ์ ๋ ๋ฐ ํตํฉ ํ
์คํธ๋ฅผ ์คํํ์ฌ ์ฝ๋ ์์ ์ฑ์ ๊ฒ์ฆํ๊ณ , ๋
๋ฆฝ์ ์ธ JAR ํ์ผ๋ก ๋น๋ํฉ๋๋ค.
3. Docker ์ด๋ฏธ์ง ๊ด๋ฆฌ: ๋น๋๋ JAR ํ์ผ์ ์ ์ฉ Dockerfile์ ํตํด Docker ์ด๋ฏธ์ง๋ก ๋ณํ๋๋ฉฐ, ์ด ์ด๋ฏธ์ง๋ค์ Docker Hub์ ํธ์๋์ด ์ค์์์ ๊ด๋ฆฌ๋ฉ๋๋ค.
- dev ๋ธ๋์น: apiserver:dev, crawlerserver:dev ํ๊ทธ๋ก ์ด๋ฏธ์ง๋ฅผ ํธ์ํ๊ณ ๊ฐ๋ฐ ์ ์ฉ EC2 ์ธ์คํด์ค์ ๋ฐฐํฌ๋ฉ๋๋ค. SPRING_PROFILES_ACTIVE=dev์ ๊ฐ์ ๊ฐ๋ฐ ํ๊ฒฝ ๋ณ์๊ฐ ์ฃผ์
๋ฉ๋๋ค.
- test ๋ธ๋์น: apiserver:test, crawlerserver:test ํ๊ทธ๋ก ์ด๋ฏธ์ง๋ฅผ ํธ์ํ๊ณ ํ
์คํธ ์ ์ฉ EC2 ์ธ์คํด์ค์ ๋ฐฐํฌ๋ฉ๋๋ค. SPRING_PROFILES_ACTIVE=test์ ๊ฐ์ ํ
์คํธ ํ๊ฒฝ ๋ณ์๊ฐ ์ฃผ์
๋ฉ๋๋ค.
4. ๋ถ๊ธฐ๋ณ EC2 ๋ฐฐํฌ: ๊ฐ ๋ธ๋์น(dev/test)์ ๋ง๋ EC2 ์ธ์คํด์ค์ SSH๋ก ์ ์ํ์ฌ, ๊ธฐ์กด ์ปจํ
์ด๋๋ฅผ ์ค์ง ๋ฐ ์ ๊ฑฐํ๊ณ ์ต์ Docker ์ด๋ฏธ์ง๋ฅผ Pull ๋ฐ์ ์คํํฉ๋๋ค.
5. ํ๊ฒฝ ๋ณ์ ์ฃผ์
: GitHub Secrets์ ์ ์๋ ๋ฏผ๊ฐํ ํ๊ฒฝ ๋ณ์๋ค์ด ์์ ํ๊ฒ Docker ์ปจํ
์ด๋์ ์ฃผ์
๋ฉ๋๋ค.
2. Vercel์ ํ์ฉํ ํ๋ก ํธ์๋ ๋ฐฐํฌ
์ด ์ ๋ต์ ํ๋ก ํธ์๋ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋ฐฐํฌ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํฉ๋๋ค. ํต์ฌ ๊ธฐ๋ฅ:
์๋ ๋ฐฐํฌ: Vercel์ ํตํฉ CI/CD ๊ธฐ๋ฅ์ ํ์ฉํ์ฌ Git ์ ์ฅ์์ ํธ์๋๋ ๋ณ๊ฒฝ ์ฌํญ์ ์๋์ผ๋ก ๊ฐ์งํ๊ณ ๋น๋ํ์ฌ ๋ฐฐํฌํฉ๋๋ค.
Preview Deployments: PR ์์ฑ ์ ์๋์ผ๋ก Preview ํ๊ฒฝ์ ์ ๊ณตํ์ฌ, ์ค์ ๋ณํฉ ์ ์ ๋ณ๊ฒฝ ์ฌํญ์ ์ฝ๊ฒ ๊ฒํ ํ ์ ์์ต๋๋ค.
๊ธ๋ก๋ฒ CDN: Vercel์ ๊ธ๋ก๋ฒ CDN์ ํตํด ์ฌ์ฉ์์๊ฒ ๋น ๋ฅด๊ณ ์์ ์ ์ธ ์๋น์ค ์ ๊ทผ์ฑ์ ์ ๊ณตํฉ๋๋ค.
๊ฐํธํ ํ๊ฒฝ ์ค์ : Vercel ๋์๋ณด๋์์ ํ๊ฒฝ ๋ณ์ ๋ฐ ๋๋ฉ์ธ ์ค์ ์ ์ง๊ด์ ์ผ๋ก ๊ด๋ฆฌํ ์ ์์ต๋๋ค.
3. Redis, S3, RDS๋ฅผ ์ฉ๋์ ๋ง๊ฒ ๋ถ๋ฆฌํ์ฌ ํ์ฅ์ฑ ๋ณด์ฅ
์ด ์ ๋ต์ ํด๋ผ์ฐ๋ ์๋น์ค๋ฅผ ์ฉ๋์ ๋ฐ๋ผ ๋ถ๋ฆฌํ์ฌ ์ฌ์ฉํจ์ผ๋ก์จ ์์คํ ์ ํ์ฅ์ฑ๊ณผ ์์ ์ฑ์ ๊ทน๋ํํฉ๋๋ค. ํต์ฌ ๊ธฐ๋ฅ:
Elasticache๋ฅผ ์ฌ์ฉํ Redis (์บ์ฑ/ํ ํฐ ๊ด๋ฆฌ): ์ธ๋ฉ๋ชจ๋ฆฌ ๋ฐ์ดํฐ ์คํ ์ด์ธ Redis๋ฅผ ํ์ฉํ์ฌ ๋น ๋ฅธ ๋ฐ์ดํฐ ์ ๊ทผ์ด ํ์ํ ์บ์ฑ, ์ฌ์ฉ์ ํ ํฐ ๊ด๋ฆฌ, ์ค์๊ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ ๋ฑ์ ์ฌ์ฉํฉ๋๋ค. ์ด๋ฅผ ํตํด ๋ฐ์ดํฐ๋ฒ ์ด์ค ๋ถํ๋ฅผ ์ค์ด๊ณ ์ ํ๋ฆฌ์ผ์ด์
์๋ต ์๋๋ฅผ ํฅ์์ํต๋๋ค.
Amazon S3 (๊ฐ์ฒด ์คํ ๋ฆฌ์ง): ํ์ฅ ๊ฐ๋ฅํ ํด๋ผ์ฐ๋ ๊ฐ์ฒด ์คํ ๋ฆฌ์ง์ธ S3๋ฅผ ์ด์ฉํ์ฌ ์ด๋ฏธ์ง, ๋์์, ๋ฌธ์ ๋ฑ ์ ์ ํ์ผ ๋ฐ ๋์ฉ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํฉ๋๋ค. ์น ์๋ฒ์ ๋ถ๋ฆฌํ์ฌ ํ์ผ ์ ์ฅ ๊ณต๊ฐ์ ๋ํ ํ์ฅ์ฑ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํฉ๋๋ค.
Amazon RDS (๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค): ๊ด๊ณํ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์๋น์ค์ธ RDS๋ฅผ ์ฌ์ฉํ์ฌ ์ ํ๋ฆฌ์ผ์ด์
์ ํต์ฌ ๋น์ฆ๋์ค ๋ก์ง๊ณผ ๊ด๋ จ๋ ๊ตฌ์กฐํ๋ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๊ด๋ฆฌํฉ๋๋ค. RDS๋ ์๋ ๋ฐฑ์
, ๋ณต์ , ํจ์น ๋ฑ ๊ด๋ฆฌํ ์๋น์ค๋ฅผ ์ ๊ณตํ์ฌ ๋ฐ์ดํฐ๋ฒ ์ด์ค ์ด์ ๋ถ๋ด์ ์ค์
๋๋ค.
์ด๋ฆ | ์ญํ | ๋ด๋น ์ ๋ฌด |
---|---|---|
์ฑ์ง์ | ๋ฐฑ์๋ ๊ฐ๋ฐ์ (ํ์ฅ) | ๋ฌธ์ ๋ฐ์ก / ๋ฌธ์ ํ ํ๋ฆฟ ๊ด๋ฆฌ, ๊ณต์ธ์ค๊ฐ์ฌ ์ผ์ ๊ด๋ฆฌ, ํ๋ก ํธ์๋ ๊ฐ๋ฐ ๋ฐ ๋ฐฐํฌ |
์ ์ค์ฐ | ๋ฐฑ์๋ ๊ฐ๋ฐ์ | AWS(EC2,RDS,Redis), CICD, ๊ณต๊ฐ๋งค๋ฌผ ํฌ๋กค๋ง ์๋ฒ, ์กฐํ, ๋์ฌ๋ณด๋ ํต๊ณ, ๋ฆฌํด๋ฒ ์ด์ค, ๋ฒ์ ๋์ฝ๋ ์กฐํ, ํ๋ก์ ํธ ๊ตฌ์กฐ ๋ฆฌํํ ๋ง |
์ ์ค์ | ๋ฐฑ์๋ ๊ฐ๋ฐ์ | ๊ณ ๊ฐ ๊ด๋ฆฌ, ์ค๋ฌธ ๊ด๋ฆฌ, ์๋ด ๊ด๋ฆฌ, ExcelImport |
์กฐ์์ฐ | ๋ฐฑ์๋ ๊ฐ๋ฐ์ | ํ์๊ฐ์ /๋ก๊ทธ์ธ, ๊ณ์ฝ, ๋งค๋ฌผ, ๊ณ ๊ฐ ๋ผ๋ฒจ ๊ด๋ฆฌ, ํ๋ก ํธ ์๋ ๊ฐ๋ฐ(๊ณ์ฝ, ๋งค๋ฌผ ํ์ด์ง) |