Skip to content

refactor/#181 Auth 인증 인가 모듈 분리#187

Merged
LeeHanEum merged 10 commits intodevelopfrom
refactor/#181-setup-auth-module
Feb 5, 2025
Merged

refactor/#181 Auth 인증 인가 모듈 분리#187
LeeHanEum merged 10 commits intodevelopfrom
refactor/#181-setup-auth-module

Conversation

@LeeShinHaeng
Copy link
Copy Markdown
Contributor

Summary

API에서 Auth 모듈 분리

Tasks

  • Auth 모듈 생성
  • 관련 기능 이동
  • 테스트 코드 이동
  • Github Actions 수정

To Reviewer

첫 실행 시 프로파일 및 환경 변수 설정 후 실행 바랍니다!

@LeeShinHaeng LeeShinHaeng added the 🔨refactor refactoring code label Feb 3, 2025
@LeeShinHaeng LeeShinHaeng requested a review from a team February 3, 2025 07:59
@LeeShinHaeng LeeShinHaeng self-assigned this Feb 3, 2025
@LeeShinHaeng LeeShinHaeng linked an issue Feb 3, 2025 that may be closed by this pull request
3 tasks
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Feb 3, 2025

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Walkthrough

이번 PR은 새로운 인증 모듈인 aics-auth를 프로젝트에 추가하고, Docker 이미지 빌드 및 배포 워크플로우에 통합하는 변경 내용을 포함합니다. 또한, 기존 aics-adminaics-api 모듈의 Swagger 설정 및 구성 파일에 인증 API 관련 프로퍼티(예: auth-api-port)를 추가하고 패키지 경로를 수정하였습니다. Gradle 빌드 설정, 테스트 코드(import 수정 및 삭제) 및 JaCoCo 커버리지 제외 규칙도 업데이트되었습니다. 마지막으로, settings.gradle에 aics-auth 모듈이 포함되어 모듈 분리 목표를 달성하였습니다.

Changes

파일 변경 요약
.github/workflows/dev-build-deploy.yml, .github/workflows/pull-request-test-coverage.yml aics-auth Docker 이미지 빌드, 푸시, 배포 단계 추가 및 테스트 커버리지 경로 확장
aics-admin/.../SwaggerConfig.java, aics-api/.../SwaggerConfig.java 인증 API 관련 포트 필드 및 메서드(getAuthSwaggerByProfile) 추가, Swagger 설명 업데이트
aics-admin/src/main/resources/application-{dev,local}.yml, aics-api/src/main/resources/application-{dev,local}.yml 기존 구성에 auth-api-port 프로퍼티 추가
aics-auth/build.gradle, aics-auth/src/main/java/kgu/developers/auth/AicsAuthApplication.java aics-auth 모듈의 Gradle 빌드 설정 및 Spring Boot 진입점 클래스 추가
aics-auth/src/main/java/kgu/developers/auth/api/* AuthService, AuthController, AuthControllerImpl, 예외, 요청, 응답 클래스의 패키지명 변경 및 import 업데이트
aics-auth/src/main/java/kgu/developers/auth/config/InfraConfig.java, aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java Swagger 및 Infra 설정을 위한 신규 구성 클래스 추가
aics-auth/src/main/resources/application-{dev,local,prod,yml} aics-auth 모듈에 대한 서버, DB, Redis, 파일 업로드, JWT 등 다양한 설정 추가
aics-auth/src/testFixtures/java/auth/application/AuthServiceTest.java, aics-auth/src/testFixtures/java/auth/presentation/AuthControllerTest.java 테스트 코드의 import 경로 수정 및 AuthControllerTest 클래스 삭제
gradle/jacoco.gradle aics-auth 관련 클래스(AicsAuthApplication.class)와 **/auth/**/presentation/** 제외 패턴 추가
gradlew.bat, settings.gradle gradlew.bat 파일의 재작성(기능 동일) 및 settings.gradle에 aics-auth 모듈 추가

Possibly related issues

  • Auth 인증 인가 모듈 분리 #181: 인증/인가 모듈 분리 및 기본 포트 8082 설정 등 목표와 일치하는 내용으로, 이번 PR 변경사항이 해당 이슈의 요구사항을 반영합니다.

Suggested labels

✨feature

Suggested reviewers

  • LeeHanEum

Thank you for using CodeRabbit. We offer it for free to the OSS community and would appreciate your support in helping us grow. If you find it useful, would you consider giving us a shout-out on your favorite social media?

❤️ Share
🪧 Tips

Chat

There are 3 ways to chat with CodeRabbit:

  • Review comments: Directly reply to a review comment made by CodeRabbit. Example:
    • I pushed a fix in commit <commit_id>, please review it.
    • Generate unit testing code for this file.
    • Open a follow-up GitHub issue for this discussion.
  • Files and specific lines of code (under the "Files changed" tab): Tag @coderabbitai in a new review comment at the desired location with your query. Examples:
    • @coderabbitai generate unit testing code for this file.
    • @coderabbitai modularize this function.
  • PR comments: Tag @coderabbitai in a new PR comment to ask questions about the PR branch. For the best results, please provide a very specific query, as very limited context is provided in this mode. Examples:
    • @coderabbitai gather interesting stats about this repository and render them as a table. Additionally, render a pie chart showing the language distribution in the codebase.
    • @coderabbitai read src/utils.ts and generate unit testing code.
    • @coderabbitai read the files in the src/scheduler package and generate a class diagram using mermaid and a README in the markdown format.
    • @coderabbitai help me debug CodeRabbit configuration file.

Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments.

CodeRabbit Commands (Invoked using PR comments)

  • @coderabbitai pause to pause the reviews on a PR.
  • @coderabbitai resume to resume the paused reviews.
  • @coderabbitai review to trigger an incremental review. This is useful when automatic reviews are disabled for the repository.
  • @coderabbitai full review to do a full review from scratch and review all the files again.
  • @coderabbitai summary to regenerate the summary of the PR.
  • @coderabbitai generate docstrings to generate docstrings for this PR. (Beta)
  • @coderabbitai resolve resolve all the CodeRabbit review comments.
  • @coderabbitai configuration to show the current CodeRabbit configuration for the repository.
  • @coderabbitai help to get help.

Other keywords and placeholders

  • Add @coderabbitai ignore anywhere in the PR description to prevent this PR from being reviewed.
  • Add @coderabbitai summary to generate the high-level summary at a specific location in the PR description.
  • Add @coderabbitai anywhere in the PR title to generate the title automatically.

CodeRabbit Configuration File (.coderabbit.yaml)

  • You can programmatically configure CodeRabbit by adding a .coderabbit.yaml file to the root of your repository.
  • Please see the configuration documentation for more information.
  • If your editor has YAML language server enabled, you can add the path at the top of this file to enable auto-completion and validation: # yaml-language-server: $schema=https://coderabbit.ai/integrations/schema.v2.json

Documentation and Community

  • Visit our Documentation for detailed information on how to use CodeRabbit.
  • Join our Discord Community to get help, request features, and share feedback.
  • Follow us on X/Twitter for updates and announcements.

Copy link
Copy Markdown
Contributor

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🧹 Nitpick comments (10)
aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java (1)

96-120: 다국어 및 문서 유지보수를 위한 분리 구조를 권장합니다.
getDescription()에서 멀티라인 문자열로 문서를 구성하면 추후 다국어 지원이나 문구 수정 시 변경 범위가 커질 수 있습니다. 별도 설정 파일이나 메시지 소스 분리를 통해 유지보수성을 높여보세요.

aics-auth/src/main/java/kgu/developers/auth/config/InfraConfig.java (1)

9-15: 컴포넌트 스캔 및 설정 활성화는 적절하지만, 필요 없는 영역까지 스캔하지 않는지 확인해보세요.
@ComponentScan("kgu.developers") 범위가 매우 넓을 경우, 불필요한 빈이 생성될 수도 있으니 패키지 구조에 맞춰 세분화하는 방안을 검토해볼 수 있습니다.

aics-auth/src/testFixtures/java/auth/application/AuthServiceTest.java (1)

15-19: 테스트 메서드 어노테이션 관리에 유의하세요.
JUnit5(@Test, @BeforeEach)를 잘 적용하셨습니다. 추후 확장 가능한 테스트 툴킷(Mocking 라이브러리, Parameterized Tests 등) 사용 시 충돌이 없는지 점검해보세요.

aics-api/src/main/resources/application-local.yml (1)

10-10: 인증 API 포트 설정이 추가되었습니다.

환경 변수를 통해 포트를 설정할 수 있도록 적절히 구성되었습니다.

파일 끝에 개행 문자가 누락되었습니다.

YAML 파일 형식 규칙에 따라 파일 끝에 개행 문자를 추가해주세요.

 profiles:
   current-ip: ${CURRENT_IP:localhost}
   api-port: ${API_SERVER_PORT:8080}
   admin-api-port: ${ADMIN_API_SERVER_PORT:8081}
-  auth-api-port: ${AUTH_API_SERVER_PORT:8082}
+  auth-api-port: ${AUTH_API_SERVER_PORT:8082}
+
🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 10-10: no new line character at the end of file

(new-line-at-end-of-file)

aics-admin/src/main/resources/application-local.yml (1)

9-10: 코드 일관성 및 린트 수정 필요

새로 추가된 admin-api-portauth-api-port 속성이 올바르게 설정되어 있습니다. 다만, YAMLlint에서 지적한 바와 같이 파일 마지막 줄에 newline 문자가 없으므로 추가해 주세요.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 10-10: no new line character at the end of file

(new-line-at-end-of-file)

aics-auth/src/main/resources/application-local.yml (1)

1-10: 프로파일 설정 파일 검토

이 설정 파일은 다른 모듈과 일관되게 auth-api-port를 포함한 프로파일 속성을 정의하여 구성 관리에 도움이 됩니다. 단, 파일 끝에 newline 문자가 누락되어 있으니 추가해 주시기 바랍니다.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 10-10: no new line character at the end of file

(new-line-at-end-of-file)

aics-admin/src/main/resources/application-dev.yml (1)

14-15: 환경별 API 포트 설정 검증 필요

auth-api-port 속성이 추가되어 인증 API에 대한 설정이 명확해졌으며, 기존의 admin-api-port와 함께 일관성 있게 사용되고 있습니다. 파일 마지막에 newline 문자가 없어 YAMLlint에서 오류가 발생하므로, 해당 부분을 수정해 주세요.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

aics-api/src/main/resources/application-dev.yml (1)

14-15: 일관된 포트 설정 및 파일 마무리 작업

auth-api-portadmin-api-port 속성이 추가되어 여러 모듈에서 동일한 방식으로 API 포트 설정이 관리되고 있습니다. 설정 자체는 명확하지만, 파일 끝에 newline 문자가 추가되어야 하므로 해당 사항을 반영해 주세요.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

aics-auth/src/main/resources/application-prod.yml (1)

1-15: 생산 환경 설정 및 파일 마무리 작업

생산 환경에 적합한 Hibernate 및 Redis 설정이 잘 구성되어 있으며, ddl-auto: validate, default_batch_fetch_size, jdbc.time_zone 등 주요 설정 항목이 적절합니다. 다만, 마지막 줄에 newline 문자가 누락되어 있으니 수정 부탁드립니다.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

.github/workflows/dev-build-deploy.yml (1)

91-91: aics-auth 서비스 기동 명령어 추가 및 파일 끝 newline 추가 요청
배포 단계에 aics-auth 서비스를 실행시키는 docker-compose up -d aics-auth 명령어가 올바르게 추가되었습니다.
추가로, YAMLlint에서 지적한 바와 같이 파일 마지막에 newline 문자가 없습니다. YAML 표준에 맞게 마지막 줄에 newline 문자를 추가해 주시기 바랍니다.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 91-91: no new line character at the end of file

(new-line-at-end-of-file)

📜 Review details

Configuration used: CodeRabbit UI
Review profile: CHILL
Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 684c459 and 50c6813.

📒 Files selected for processing (29)
  • .github/workflows/dev-build-deploy.yml (3 hunks)
  • .github/workflows/pull-request-test-coverage.yml (1 hunks)
  • aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java (3 hunks)
  • aics-admin/src/main/resources/application-dev.yml (1 hunks)
  • aics-admin/src/main/resources/application-local.yml (1 hunks)
  • aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java (4 hunks)
  • aics-api/src/main/resources/application-dev.yml (1 hunks)
  • aics-api/src/main/resources/application-local.yml (1 hunks)
  • aics-auth/build.gradle (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/AicsAuthApplication.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/application/AuthService.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/AuthController.java (2 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/AuthControllerImpl.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/exception/AuthExceptionCode.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/exception/TokenNotFoundException.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/request/LoginRequest.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/request/RefreshTokenRequest.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/response/TokenResponse.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/config/InfraConfig.java (1 hunks)
  • aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java (1 hunks)
  • aics-auth/src/main/resources/application-dev.yml (1 hunks)
  • aics-auth/src/main/resources/application-local.yml (1 hunks)
  • aics-auth/src/main/resources/application-prod.yml (1 hunks)
  • aics-auth/src/main/resources/application.yml (1 hunks)
  • aics-auth/src/testFixtures/java/auth/application/AuthServiceTest.java (2 hunks)
  • aics-auth/src/testFixtures/java/auth/presentation/AuthControllerTest.java (0 hunks)
  • gradle/jacoco.gradle (1 hunks)
  • gradlew.bat (1 hunks)
  • settings.gradle (1 hunks)
💤 Files with no reviewable changes (1)
  • aics-auth/src/testFixtures/java/auth/presentation/AuthControllerTest.java
✅ Files skipped from review due to trivial changes (10)
  • gradlew.bat
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/request/RefreshTokenRequest.java
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/request/LoginRequest.java
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/exception/TokenNotFoundException.java
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/exception/AuthExceptionCode.java
  • aics-auth/src/main/java/kgu/developers/auth/AicsAuthApplication.java
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/AuthController.java
  • aics-auth/src/main/java/kgu/developers/auth/api/application/AuthService.java
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/AuthControllerImpl.java
  • aics-auth/src/main/java/kgu/developers/auth/api/presentation/response/TokenResponse.java
🧰 Additional context used
🪛 YAMLlint (1.35.1)
aics-admin/src/main/resources/application-dev.yml

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

aics-api/src/main/resources/application-local.yml

[error] 10-10: no new line character at the end of file

(new-line-at-end-of-file)

aics-admin/src/main/resources/application-local.yml

[error] 10-10: no new line character at the end of file

(new-line-at-end-of-file)

aics-api/src/main/resources/application-dev.yml

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

aics-auth/src/main/resources/application-local.yml

[error] 10-10: no new line character at the end of file

(new-line-at-end-of-file)

.github/workflows/dev-build-deploy.yml

[error] 91-91: no new line character at the end of file

(new-line-at-end-of-file)

aics-auth/src/main/resources/application-dev.yml

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

aics-auth/src/main/resources/application-prod.yml

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

🔇 Additional comments (31)
aics-auth/src/main/java/kgu/developers/auth/config/SwaggerConfig.java (2)

50-57: OpenAPI 설정 로직이 명확하고 가독성이 우수합니다.
openAPI() 메서드에서 API 정보, 보안, 서버 목록 등을 명시적으로 구성해 유지보수에 용이합니다. 특별한 수정 없이 승인합니다.


69-78: 프로필 서버 설정 누락 시 예외 처리를 고려하세요.
profileConfig에 해당 프로필이 등록되어 있지 않으면 빈 리스트가 반환될 수 있습니다. 향후 다른 환경에서 오류가 발생하지 않도록 예외 처리를 검토해보세요.

aics-auth/src/testFixtures/java/auth/application/AuthServiceTest.java (1)

3-6: 패키지 경로 변경이 정상적으로 반영되었습니다.
AuthService, TokenNotFoundException, LoginRequest, RefreshTokenRequest 등의 import 경로가 올바르게 수정되어 있습니다.

aics-admin/src/main/java/kgu/developers/admin/config/SwaggerConfig.java (3)

40-41: 새로운 인증 API 포트 설정이 추가되었습니다.

프로필 설정에서 auth-api-port를 주입받도록 적절히 구성되었습니다.


97-118: API 문서 설명이 개선되었습니다.

인증 API 문서에 대한 링크가 추가되어 사용자가 쉽게 접근할 수 있도록 구성되었습니다.


121-124: getAuthSwaggerByProfile 메서드가 적절히 구현되었습니다.

기존 메서드 패턴을 따르며 일관성 있게 구현되었습니다.

aics-api/src/main/java/kgu/developers/api/config/SwaggerConfig.java (2)

40-41: 인증 API 포트 설정이 일관성 있게 추가되었습니다.

admin 모듈과 동일한 방식으로 auth-api-port 설정이 구현되었습니다.


128-131: getAuthSwaggerByProfile 메서드가 일관성 있게 구현되었습니다.

admin 모듈의 구현과 동일한 패턴을 따르고 있어 코드의 일관성이 유지되었습니다.

settings.gradle (1)

4-4: 인증 모듈이 프로젝트에 추가되었습니다.

aics-auth 모듈이 적절히 프로젝트 구조에 통합되었습니다.

aics-auth/src/main/resources/application-dev.yml (2)

1-10: 설정 구성 및 기본값 검토
스프링 JPA의 ddl-auto: update 설정과 Redis 관련 속성들이 환경 변수로 오버라이드될 수 있도록 구성되어 있습니다. 개발 환경에서는 자동 스키마 업데이트가 유용하므로 문제가 없어 보입니다.


11-15: 프로파일 설정 및 파일 종료 처리
profiles 섹션에 current-ip, api-port, admin-api-port, auth-api-port가 환경 변수 기본값과 함께 잘 정의되어 있습니다. 단, 파일 마지막에 새 줄(newline)이 없는 것으로 보이므로 YAML lint 경고를 해소하기 위해 마지막에 newline 문자를 추가하는 것을 권장합니다.

🧰 Tools
🪛 YAMLlint (1.35.1)

[error] 15-15: no new line character at the end of file

(new-line-at-end-of-file)

aics-auth/build.gradle (4)

1-3: BootJar 태스크 활성화 확인
bootJar 태스크가 활성화되어 있어, 이 모듈의 실행 가능한 JAR 파일 생성이 보장됩니다.


5-7: Jar 태스크 활성화 확인
일반 jar 태스크도 활성화되어 있으며, 필요에 따라 두 가지 아티팩트를 생성할 수 있도록 구성되었습니다.


9-22: 의존성 및 테스트 픽스쳐 설정 검토
여러 모듈에 대한 implementation 의존성과 테스트 픽스쳐(dependencies 및 testFixturesImplementation) 설정이 일관되게 구성되어 있습니다.


24-32: Jacoco 설정 및 리포트 구성 확인
외부 Gradle 스크립트(../gradle/jacoco.gradle)를 적용하여 Jacoco를 통한 커버리지 리포트를 생성하고, XML 및 HTML 리포트가 모두 활성화되어 있는 점이 적절합니다.

aics-auth/src/main/resources/application.yml (9)

1-3: 서버 설정 검토
server.port가 8082로 명시되어 있어, aics-auth 모듈 전용 서버 포트가 올바르게 설정되어 있습니다.


4-7: 애플리케이션 이름 구성
spring.application.nameaics-auth로 설정되어 있어 모듈의 역할을 명확하게 나타내고 있습니다.


8-13: 데이터베이스 연결 정보 구성
PostgreSQL 데이터소스 URL, 사용자명, 비밀번호, 그리고 드라이버 클래스가 환경 변수를 통해 유연하게 관리되도록 구성되어 있습니다. 보안상의 이유로 실제 운영 환경에서는 민감 정보 관리에 주의하시기 바랍니다.


14-23: JPA 설정 검토
Hibernate 설정에서 ddl-autovalidate로 지정되어 있어, 스키마 자동 업데이트 대신 스키마 검증을 수행합니다. 이는 운영 환경에 적합한 설정으로 보이며, 필요에 따라 개발 환경에서는 update 옵션을 고려할 수 있습니다.


24-29: 멀티파트 파일 업로드 설정
파일 업로드 관련 max-file-sizemax-request-size가 환경 변수로 오버라이드될 수 있도록 설정되어 있으며, 기본값도 명시되어 있어 적절합니다.


30-35: Redis 연결 설정 검토
spring.data.redis 관련 설정이 로컬 기본값과 함께 제공되어, 환경 변수로 쉽게 변경 가능하도록 구성되었습니다.


36-41: 파일 업로드 및 보안 설정
파일 URL, 업로드 경로, 비밀 키, 그리고 허용되지 않는 확장자 목록이 명시되어 있어, 파일 관리 및 보안 정책을 명확히 하고 있습니다.


42-48: Springdoc 및 Swagger UI 구성 검토
API 문서를 위한 Springdoc 설정과 Swagger UI의 정렬 옵션이 알파벳 순으로 지정되어 있어, API 스펙 관리를 용이하게 합니다.


49-52: JWT 설정 검토
JWT의 issuer와 secret_key가 환경 변수로 주입되도록 구성되어 있어, 보안 키 관리 및 동적 설정에 적합합니다.

.github/workflows/pull-request-test-coverage.yml (1)

45-45: aics-auth 모듈 커버리지 리포트 경로 추가
새로 추가된 ${{ github.workspace }}/aics-auth/build/jacoco/test/jacocoTestReport.xml 경로가 전체 테스트 커버리지 계산에 포함되도록 되어 있습니다. 변경 사항이 올바르며, 모듈 분리에 따른 테스트 커버리지 확장이 적절합니다.

gradle/jacoco.gradle (2)

59-59: aics-auth 애플리케이션 클래스 제외 추가
"kgu/developers/auth/AicsAuthApplication.class"가 커버리지 계산에서 제외되도록 추가되었습니다. 이는 새로운 인증 모듈의 부트스트랩 클래스를 커버리지에서 제외하여, 불필요한 커버리지 낮은 지표를 방지하기 위한 의도로 보입니다.


63-63: Auth Presentation 제외 패턴 추가
"**/auth/**/presentation/**" 패턴이 추가되어, 인증 모듈의 presentation 계층 관련 클래스가 커버리지 대상에서 제외됩니다. 추후 필요에 따라 이 제외 패턴이 적절한지 검토하시기 바랍니다.

.github/workflows/dev-build-deploy.yml (4)

52-56: aics-auth 도커 이미지 빌드 스텝 추가 확인
새로운 aics-auth 서비스를 위한 Docker 이미지 빌드 스텝이 기존의 aics-api 및 aics-admin과 동일한 형식으로 구현되어 있습니다. Dockerfile 경로와 태그 지정 방식 모두 일관성을 유지하고 있어 문제 없어 보입니다.


68-72: aics-auth 도커 이미지 푸시 스텝 확인
새롭게 추가된 aics-auth 이미지 푸시 스텝은 Docker Hub로 이미지를 푸시하는 명령어가 기존 서비스와 동일한 방식으로 작성되어 있어 정상적으로 동작할 것으로 예상됩니다.


88-88: aics-auth 서비스 배포 pull 명령어 추가 확인
배포 단계에 aics-auth 이미지를 pull 하는 명령어가 추가되었습니다. 다른 서비스와 동일한 방식으로 docker-compose 명령어가 적용되어 있어 배포 프로세스에 잘 통합된 것으로 판단됩니다.


90-90: aics-admin 서비스 기동 명령어 재확인
업데이트된 aics-admin 서비스 기동 명령어는 기존 명령어와 일관된 구조를 유지하고 있습니다. 변경 사항이 형식상의 업데이트라면, 문제없이 동작할 것으로 보입니다.

@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 3, 2025

Test Coverage Report

Overall Project 95.7% 🍏
Module Coverage
aics-auth 100% 🍏
Files
Module File Coverage
aics-auth AuthService.java 100% 🍏

@codecov
Copy link
Copy Markdown

codecov bot commented Feb 3, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Impacted file tree graph

@@              Coverage Diff              @@
##             develop     #187      +/-   ##
=============================================
- Coverage      93.29%   93.18%   -0.12%     
+ Complexity       134      129       -5     
=============================================
  Files             49       48       -1     
  Lines            388      367      -21     
  Branches           4        3       -1     
=============================================
- Hits             362      342      -20     
  Misses            21       21              
+ Partials           5        4       -1     
Files with missing lines Coverage Δ Complexity Δ
...u/developers/auth/api/application/AuthService.java 100.00% <ø> (ø) 2.00 <0.00> (?)

Continue to review full report in Codecov by Sentry.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ad225de...e06e83b. Read the comment docs.

Copy link
Copy Markdown
Contributor

@minjo-on minjo-on left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM😁

Copy link
Copy Markdown
Member

@LeeHanEum LeeHanEum left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM👍

@LeeHanEum LeeHanEum merged commit a2e8922 into develop Feb 5, 2025
4 checks passed
@LeeHanEum LeeHanEum deleted the refactor/#181-setup-auth-module branch February 5, 2025 04:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

🔨refactor refactoring code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Auth 인증 인가 모듈 분리

3 participants