Releases: KTEventee/eventee-common
Releases · KTEventee/eventee-common
v0.6.3 CORS 문제 해결
v0.6.1 - SecurityConfig추가
현재 Cors오류가 발생하고 있어서 preFlight관련 오류인지 확인하기 위해 SecurityConfig파일 추가
v0.6.0 – 공통 JWT 검증 모듈 추가
변경 사항
- 공통(common) 모듈에 JWT 검증 전용 로직을 추가했습니다.
- auth 서비스에서 발급한 JWT를 검증하기 위한
JwtTokenProvider,JwtValidator를 구현했습니다. - 검증된 토큰에서
memberId,tokenType(access / refresh)정보를 추출할 수 있습니다. - issuer가
eventee-auth인 토큰과 호환되도록 설계되었습니다.
공통 예외 처리 연동
- 기존 공통 예외 구조를 그대로 활용합니다.
JwtHandler는BaseException을 상속합니다.JwtErrorCode는BaseCode를 구현합니다.
- JWT 관련 오류는
GlobalExceptionHandler를 통해
모든 서비스에서 동일한 응답 포맷으로 반환됩니다.
설계 및 사용 원칙
- JWT 모듈은 라이브러리 형태로만 제공됩니다.
- AutoConfiguration을 사용하지 않습니다.
- Bean 자동 등록을 하지 않습니다.
- 각 서비스가 JWT 사용 여부를 명시적으로 결정합니다.
서비스에서 사용하는 방법
각 서비스(member, event, game, content)에서 직접 Bean을 등록하여 사용합니다.
@Bean
public JwtValidator jwtValidator(@Value("${jwt.secret}") String secret) {
return new JwtTokenProvider(secret);
}- auth 서비스는 해당 모듈을 사용하지 않습니다.
- 리소스 서비스만 선택적으로 사용하도록 설계되었습니다.
버전 정보
- 본 릴리스는 Git 태그 v0.6.0 기준으로 배포됩니다.
- 여러 서비스에서 공통 모듈로 안전하게 사용할 수 있도록
- 자동 설정이나 정책 강제 요소를 포함하지 않습니다.
v0.5.0 – Eventee Common 모듈 AutoConfiguration 및 태그 기반 배포 파이프라인 구축
개요
Eventee 프로젝트에서 공통으로 사용되는 Common 모듈을 라이브러리 형태로 안정화하고, 태그 기반 CI/CD 배포 파이프라인을 구축했습니다.
Common 모듈은 실행 애플리케이션이 아닌 순수 공유 라이브러리로 설계되었으며 환경별 설정 값은 각 서비스가 직접 정의해야 합니다.
CI / 배포 파이프라인
- GitHub Actions를 이용한 태그 기반 배포 방식 적용
v*형식의 Git tag가 생성될 때만 배포 수행main브랜치 커밋은 배포를 트리거하지 않음- Git tag 이름을 그대로 Gradle artifact 버전으로 사용
- GitHub Packages(Maven)를 패키지 저장소로 사용
배포 흐름
commit → main (배포 없음)
git tag vX.Y.Z 생성 및 push
→ GitHub Actions 실행
→ Gradle publish
→ GitHub Packages 배포
포함 기능
Spring Boot AutoConfiguration
- 공통 인프라 설정을 위한 AutoConfiguration 모듈 구성
META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports기반 자동 로딩
포함된 설정:
- GlobalExceptionHandler
- CORS 설정
- Swagger / OpenAPI 설정
- RestTemplate 설정
- Web MVC 공통 설정
- AWS S3 AutoConfiguration
공통 예외 처리
- 서비스 전반에서 공통으로 사용하는 글로벌 예외 처리 구조
- 일관된 API 응답 포맷(
BaseResponse) - 공통 에러 코드(
ErrorCode,SuccessCode) 정의 - MSA 환경에서 통일된 에러 응답 제공을 목표로 설계
CORS 설정
- 공통 모듈에서 CORS 설정 로직 제공
- 허용 Origin 값은 각 서비스의 설정 파일에서 정의
- Credential 요청 지원
- 공통 모듈에 환경 종속 값이 포함되지 않도록 설계
Swagger / OpenAPI
- Springdoc OpenAPI 기반 Swagger UI 구성
- 서비스별
context-path구조에 대응 가능 - Swagger server URL은 각 서비스에서 관리
- 공통 모듈은 설정 로직만 제공
AWS S3
- AWS SDK v2 기반 S3 연동
- 버킷, 리전, 업로드 제한 등은 프로퍼티 기반 설정
- AutoConfiguration을 통한 공통 초기화 제공
- 실제 환경 값은 서비스 실행 시 주입
설계 원칙
- Common 모듈은 코드만 포함, 환경별 설정 파일은 포함하지 않음
- 모든 설정 값은 각 서비스가 직접 정의하고 관리
- Spring Boot Starter / AutoConfiguration 패턴을 따름
- Auth, Member, Event, Content 등 다수 서비스에서 재사용 가능하도록 설계
호환성
- Java 17
- Spring Boot 기반 서비스와 연동 가능
- GitHub Packages를 통한 Maven / Gradle 의존성 관리
비고
- 본 릴리즈는 Eventee 프로젝트의 모든 서비스에서 사용할 공통 모듈의 기준 버전 역할을 함
- 이후 릴리즈에서는 공통 인프라 기능을 점진적으로 확장할 예정
첫 번째 공통 모듈 릴리즈
첫 번째 공통 모듈 릴리즈
Full Changelog: https://github.com/KTEventee/eventee-common/commits/v1.0.0