![](https://private-user-images.githubusercontent.com/39994337/360548831-3d6dc61a-3258-429e-878c-66ef3da6b45d.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTYzOTMsIm5iZiI6MTczOTM1NjA5MywicGF0aCI6Ii8zOTk5NDMzNy8zNjA1NDg4MzEtM2Q2ZGM2MWEtMzI1OC00MjllLTg3OGMtNjZlZjNkYTZiNDVkLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDEwMjgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPTBmOWYzMzM4NDk5NzI3OTg3ZDI1NzI2YzA5OGEzYjc4MzFiNWNmYjMwYzE1Y2IzNmI0MWEyMjQ2OGNiYjVlMjAmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.ULVkBBYN22lwuhZR4cGMtBliyW9ZmANBM43FNmxzEHE)
- Language: Kotlin
- Framework: Spring Boot
- Database: MySQL, JPA
- Infra: Docker, Nginx, Github Actions, AWS EC2, AWS S3, FCM
- Others: Caffeine Cache
![](https://private-user-images.githubusercontent.com/39994337/360421606-d0ad4c6c-e902-4670-86f0-d5b1b9a3dbce.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzNTYzOTMsIm5iZiI6MTczOTM1NjA5MywicGF0aCI6Ii8zOTk5NDMzNy8zNjA0MjE2MDYtZDBhZDRjNmMtZTkwMi00NjcwLTg2ZjAtZDViMWI5YTNkYmNlLnBuZz9YLUFtei1BbGdvcml0aG09QVdTNC1ITUFDLVNIQTI1NiZYLUFtei1DcmVkZW50aWFsPUFLSUFWQ09EWUxTQTUzUFFLNFpBJTJGMjAyNTAyMTIlMkZ1cy1lYXN0LTElMkZzMyUyRmF3czRfcmVxdWVzdCZYLUFtei1EYXRlPTIwMjUwMjEyVDEwMjgxM1omWC1BbXotRXhwaXJlcz0zMDAmWC1BbXotU2lnbmF0dXJlPWQ1ZTE0YmY0M2Q1ZDU5ZTRiODEwN2NkZTI5YjVmNDMzYmJmZWQyNDJhMzI5OTcyNTZhY2Q2YjVmOTJmOTVjMmUmWC1BbXotU2lnbmVkSGVhZGVycz1ob3N0In0.xbe4Pkc1VJ-6XIBKxdwpxe8py0YUCqeG-u1uy3BCjhw)
/.github/workflows/pull-request-workflow.yml
- develop 브랜치에 PR이 올라오면 build 실행
/.github/workflows/deploy-workflow.yml
- develop 브랜치에 merge 되면 실행
- 도커 이미지 build 및 도커 허브에 이미지 push (api, batch 이미지)
- docker-compose.yml 및 배포 스크립트 서버에 복사
- application.yml에 사용되는 환경 변수를 github secret에서 가져와서 EC2 서버에 저장
- deploy.sh 실행 -> docker image pull 한 뒤 docker-compose.yml을 가지고 docker-compose 실행 (.env 파일에서 환경변수를 읽음)
통신을 위한 모듈 (controller 레이어)
- 로컬 실행 방법
cd api/build/libs
java -jar api-0.0.1-SNAPSHOT.jar --spring.profiles.active=local --server.port=8080
도메인 및 도메인 로직을 위한 모듈 (domain, repository, service 레이어)
배치 작업을 위한 모듈
- 로컬 실행 방법
cd batch/build/libs
java -jar batch-0.0.1-SNAPSHOT.jar --spring.profiles.active=local --server.port=8081
- swagger: http://localhost:8080/swagger-ui
vm options: -Duser.timezone=Asia/Seoul
|
|