Skip to content

Latest commit

 

History

History
98 lines (67 loc) · 2.53 KB

README.md

File metadata and controls

98 lines (67 loc) · 2.53 KB

보틀 - 너에게 보내는 편지

Tech Stacks

  • Language: Kotlin
  • Framework: Spring Boot
  • Database: MySQL, JPA
  • Infra: Docker, Nginx, Github Actions, AWS EC2, AWS S3, FCM
  • Others: Caffeine Cache

Infrastructure

CI/CD Flow

CI

/.github/workflows/pull-request-workflow.yml

  1. develop 브랜치에 PR이 올라오면 build 실행

CD

/.github/workflows/deploy-workflow.yml

  1. develop 브랜치에 merge 되면 실행
  2. 도커 이미지 build 및 도커 허브에 이미지 push (api, batch 이미지)
  3. docker-compose.yml 및 배포 스크립트 서버에 복사
  4. application.yml에 사용되는 환경 변수를 github secret에서 가져와서 EC2 서버에 저장
  5. deploy.sh 실행 -> docker image pull 한 뒤 docker-compose.yml을 가지고 docker-compose 실행 (.env 파일에서 환경변수를 읽음)

Module

api

통신을 위한 모듈 (controller 레이어)

  • 로컬 실행 방법
cd api/build/libs
java -jar api-0.0.1-SNAPSHOT.jar --spring.profiles.active=local --server.port=8080 

app

도메인 및 도메인 로직을 위한 모듈 (domain, repository, service 레이어)

batch

배치 작업을 위한 모듈

  • 로컬 실행 방법
cd batch/build/libs
java -jar batch-0.0.1-SNAPSHOT.jar --spring.profiles.active=local --server.port=8081

API 문서

설정

vm options: -Duser.timezone=Asia/Seoul

Developers

injoon2019

miseongk