Skip to content

Releases: KTEventee/eventee-common

v0.6.3 CORS 문제 해결

10 Jan 07:43
9f448ed

Choose a tag to compare

Add SecurityConfig for web security configuration

v0.6.1 - SecurityConfig추가

07 Jan 02:40
9f448ed

Choose a tag to compare

현재 Cors오류가 발생하고 있어서 preFlight관련 오류인지 확인하기 위해 SecurityConfig파일 추가

v0.6.0 – 공통 JWT 검증 모듈 추가

05 Jan 10:15

Choose a tag to compare

변경 사항

  • 공통(common) 모듈에 JWT 검증 전용 로직을 추가했습니다.
  • auth 서비스에서 발급한 JWT를 검증하기 위한 JwtTokenProvider, JwtValidator를 구현했습니다.
  • 검증된 토큰에서 memberId, tokenType(access / refresh) 정보를 추출할 수 있습니다.
  • issuer가 eventee-auth인 토큰과 호환되도록 설계되었습니다.

공통 예외 처리 연동

  • 기존 공통 예외 구조를 그대로 활용합니다.
    • JwtHandlerBaseException을 상속합니다.
    • JwtErrorCodeBaseCode를 구현합니다.
  • 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 및 태그 기반 배포 파이프라인 구축

27 Dec 16:26

Choose a tag to compare

개요

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 프로젝트의 모든 서비스에서 사용할 공통 모듈의 기준 버전 역할을 함
  • 이후 릴리즈에서는 공통 인프라 기능을 점진적으로 확장할 예정

첫 번째 공통 모듈 릴리즈

09 Dec 07:05

Choose a tag to compare