AWS, Spring boot를 활용한 웹 서비스 구현 및 CI/CD 연습용 저장소
| 계층 | 사용 기술 |
|---|---|
| Backend | Spring Boot · Spring Security · Spring Data JPA · JUnit |
| Auth | OAuth 2.0 (Naver, Google) |
| CI/CD | GitHub → Jenkins (Gradle 빌드) → Amazon S3 (아티팩트) → AWS CodeDeploy |
| Infra | Amazon EC2 · Amazon RDS (MariaDB) |
- 회원 인증/인가
- OAuth 2.0 Login (Naver, Google)
- Spring Security 기반 세션 관리
- 게시글 CRUD (
/posts)- JPA · Spring Data 리포지터리
- 엔티티, DTO, Service, Controller 계층 분리
- 테스트 코드
- JUnit5 단위 테스트
- 통합 테스트 (H2 In-Memory DB)
- 개발자가 GitHub에 코드를 Push
- Jenkins가 Webhook 이벤트(선택)를 받아 파이프라인 실행 (Jenkins에서 수동 실행도 가능)
clean build로 JAR 생성- 테스트(JUnit) 수행
- 완성된 JAR을 Amazon S3(Artifacts Bucket)로 업로드
- AWS CodeDeploy가 S3 아티팩트를 받아 대상 EC2 인스턴스에 배포
- EC2 애플리케이션은 Spring Boot로 동작하며, Amazon RDS(MariaDB) 와 연결
- 사용자는 OAuth 2.0(네이버·구글)로 로그인 후 서비스를 이용
