Skip to content

JobDri-Developer/BackEnd

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

169 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BackEnd

Repository of JobDri BackEnd

Docker

๋กœ์ปฌ ์‹คํ–‰:

cp .env.example .env
docker compose up --build

๋ฐฐํฌ ์„œ๋ฒ„ ์‹คํ–‰:

cp .env.production.example .env
docker compose -f docker-compose.prod.yml up -d

prod ํ”„๋กœํ•„์€ /actuator/health๋ฅผ ๋…ธ์ถœํ•ฉ๋‹ˆ๋‹ค.

CI/CD

  • CI: main, develop ๋ธŒ๋žœ์น˜ push ๋ฐ PR์—์„œ ํ…Œ์ŠคํŠธ์™€ Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ๋ฅผ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.
  • Deploy: main ๋ธŒ๋žœ์น˜ push ๋˜๋Š” ์ˆ˜๋™ ์‹คํ–‰ ์‹œ GHCR์— ์ด๋ฏธ์ง€๋ฅผ ํ‘ธ์‹œํ•˜๊ณ , ๋ฐฐํฌ ์„œ๋ฒ„ secret์ด ์žˆ์œผ๋ฉด SSH๋กœ docker-compose.prod.yml์„ ๊ฐฑ์‹ ํ•ฉ๋‹ˆ๋‹ค.

GitHub Actions ๋ฐฐํฌ secret:

  • DEPLOY_HOST
  • DEPLOY_USER
  • DEPLOY_PORT optional, default 22
  • DEPLOY_SSH_KEY
  • DEPLOY_PATH
  • GHCR_USERNAME
  • GHCR_TOKEN

๋ฐฐํฌ ํ™˜๊ฒฝ

๋ฐฑ์—”๋“œ API๋Š” Docker ์ด๋ฏธ์ง€๋กœ ๋นŒ๋“œ๋˜์–ด GHCR์— ์—…๋กœ๋“œ๋˜๊ณ , GitHub Actions๋ฅผ ํ†ตํ•ด EC2 ์„œ๋ฒ„์— ๋ฐฐํฌ๋ฉ๋‹ˆ๋‹ค.

์ธํ”„๋ผ

  • ์„œ๋ฒ„: AWS EC2 t3.small
  • OS: Amazon Linux 2023
  • DB: AWS RDS PostgreSQL db.t3.micro
  • Redis: Upstash Redis
  • ์›น ์„œ๋ฒ„: Nginx
  • ์ปจํ…Œ์ด๋„ˆ ๋Ÿฐํƒ€์ž„: Docker, Docker Compose

๋ฐฐํฌ ํ๋ฆ„

  1. main ๋ธŒ๋žœ์น˜์— ๋ณ€๊ฒฝ์‚ฌํ•ญ์ด ๋ฐ˜์˜๋ฉ๋‹ˆ๋‹ค.
  2. GitHub Actions๊ฐ€ Docker ์ด๋ฏธ์ง€๋ฅผ ๋นŒ๋“œํ•ฉ๋‹ˆ๋‹ค.
  3. ์ด๋ฏธ์ง€๋ฅผ GHCR์— ํ‘ธ์‹œํ•ฉ๋‹ˆ๋‹ค.
  4. GitHub Actions๊ฐ€ EC2์— SSH๋กœ ์ ‘์†ํ•ฉ๋‹ˆ๋‹ค.
  5. EC2์—์„œ docker-compose.prod.yml์„ ์‚ฌ์šฉํ•ด ์ตœ์‹  ์ด๋ฏธ์ง€๋ฅผ pullํ•˜๊ณ  API ์ปจํ…Œ์ด๋„ˆ๋ฅผ ์žฌ๊ธฐ๋™ํ•ฉ๋‹ˆ๋‹ค.

์„œ๋ฒ„ ๋ฐฐํฌ ๊ฒฝ๋กœ

/opt/jobdri-api

์„œ๋ฒ„์—๋Š” ์•„๋ž˜ ํŒŒ์ผ์ด ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค.

docker-compose.prod.yml
.env

์šด์˜ API ๋„๋ฉ”์ธ

์šด์˜ API๋Š” Nginx reverse proxy์™€ Let's Encrypt ์ธ์ฆ์„œ๋ฅผ ํ†ตํ•ด HTTPS๋กœ ์ œ๊ณต๋ฉ๋‹ˆ๋‹ค.

https://api.jobdri.site
  • Nginx๋Š” 80/443 ์š”์ฒญ์„ Spring Boot API ์ปจํ…Œ์ด๋„ˆ์˜ 8080 ํฌํŠธ๋กœ ํ”„๋ก์‹œํ•ฉ๋‹ˆ๋‹ค.
  • SSL ์ธ์ฆ์„œ๋Š” Certbot์œผ๋กœ ๋ฐœ๊ธ‰ํ–ˆ์œผ๋ฉฐ ์ž๋™ ๊ฐฑ์‹ ์ด ์„ค์ •๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ƒํƒœ ํ™•์ธ: https://api.jobdri.site/actuator/health

์ •์ƒ ์‘๋‹ต:

{"status":"UP","groups":["liveness","readiness"]}

About

Repository of JobDri BackEnd

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors