Skip to content

[CI] CI/CD 파이프라인 구축#14

Merged
wonjun-lee-fcwj245 merged 40 commits into
mainfrom
feature/wonjun
Jul 6, 2025
Merged

[CI] CI/CD 파이프라인 구축#14
wonjun-lee-fcwj245 merged 40 commits into
mainfrom
feature/wonjun

Conversation

@wonjun-lee-fcwj245

@wonjun-lee-fcwj245 wonjun-lee-fcwj245 commented Jul 6, 2025

Copy link
Copy Markdown
Contributor

✔️ 연관 이슈

📝 작업 내용

CI/CD 파이프라인 구축

스크린샷 (선택)

Summary by CodeRabbit

신규 기능

  • 사용자, 리뷰, 검색, 웨이블존 등 주요 도메인에 대한 엔티티, 서비스, 컨트롤러, 예외 처리 구조가 추가되었습니다.
  • 공통 응답 포맷 및 글로벌 예외 처리 기능이 도입되어 일관된 API 응답을 제공합니다.
  • QueryDSL, JPA Auditing, 소프트 딜리트 등 주요 Spring Boot 기능이 적용되었습니다.

CI/CD 및 프로젝트 설정

  • GitHub Actions 기반 CI/CD 파이프라인과 Gradle 빌드 환경이 구축되었습니다.
  • .gitignore, .gitattributes, Gradle Wrapper 등 프로젝트 관리 파일이 추가되었습니다.

문서화

  • 버그 리포트, 일반 이슈, PR 템플릿 등 GitHub Issue/PR 템플릿이 도입되었습니다.

테스트

  • 기본적인 Spring Boot 애플리케이션 구동 테스트가 추가되었습니다.

seung-in-Yoo and others added 30 commits June 24, 2025 05:37
[chore] CodeRabbit 설정 파일 추가
[feat] AOP 적용
@coderabbitai

coderabbitai Bot commented Jul 6, 2025

Copy link
Copy Markdown

Caution

Review failed

The pull request is closed.

Walkthrough

이 PR은 Spring Boot 기반 프로젝트의 초기 구조를 설정하고, CI/CD 파이프라인 및 코드 스타일 규칙, 이슈/PR 템플릿, Gradle 빌드 환경, 주요 도메인 엔티티, 예외 처리, 공통 응답 구조, AOP 로깅, JPA 감사 기능, QueryDSL 통합 등을 도입합니다. GitHub Actions를 이용한 자동 배포 워크플로우가 포함되어 있습니다.

Changes

파일/경로 그룹 변경 요약
.coderabbit.yaml, .gitignore, .gitattributes 코드 리뷰 설정, Git 무시 규칙, 줄바꿈 규칙 파일 추가
.github/ISSUE_TEMPLATE/..., .github/PULL_REQUEST_TEMPLATE/... 이슈/PR 템플릿 추가
.github/workflows/cd-develop.yml develop 브랜치용 GitHub Actions CI/CD 워크플로우 추가
wayble-spring/build.gradle, settings.gradle, gradle/wrapper/*, gradlew* Gradle 빌드/설정/래퍼 스크립트/프로퍼티 추가
src/main/java/com/wayble/server/ServerApplication.java Spring Boot 메인 클래스 및 JPA Auditing 활성화
src/main/java/com/wayble/server/common/... 공통 컨트롤러, 예외, 응답, AOP 로깅, 엔티티(BasedEntity, Address) 추가
src/main/java/com/wayble/server/direction/..., review/..., search/..., user/..., wayblezone/... 각 도메인별 컨트롤러, 서비스, 예외, 엔티티, DTO, 레포지토리 등 기본 구조 및 예외 처리 예시 추가
src/test/java/com/wayble/server/ServerApplicationTests.java Spring Boot Context Load 테스트 추가

Sequence Diagram(s)

sequenceDiagram
    participant Client
    participant Controller
    participant Service
    participant ExceptionHandler

    Client->>Controller: HTTP 요청 (예: /users/hello)
    Controller->>Service: 서비스 메서드 호출 (예: makeException)
    Service-->>Controller: (정상/예외 발생)
    alt 정상 응답
        Controller-->>Client: CommonResponse.success()
    else 예외 발생
        Service-->>ExceptionHandler: ApplicationException 발생
        ExceptionHandler-->>Client: CommonResponse.error()
    end
Loading

Assessment against linked issues

Objective (이슈 번호) Addressed Explanation
GitHub Actions 초기 설정 파일 생성 (#13)
빌드 성공 시 자동 배포 설정 (#13)
Slack 알림 연동 (#13) Slack 알림 연동 관련 설정이나 코드가 포함되어 있지 않음.

Assessment against linked issues: Out-of-scope changes

Code Change Explanation
도메인별 엔티티, 서비스, 컨트롤러, 예외, DTO 등 대규모 신규 코드 추가 (src/main/java/com/wayble/server/...) CI/CD 파이프라인 구축 이슈(#13)의 범위를 넘어서는 대규모 기능/도메인 코드 추가.
QueryDSL, JPA, AOP, 공통 응답, 로깅 등 인프라 및 아키텍처 코드 추가 (build.gradle, common/*, 등) 이슈 #13은 CI/CD에 한정되어 있으며, 코드 구조 및 아키텍처 도입은 별도 이슈로 관리되어야 함.
코드 리뷰 설정 파일 및 Git 속성 파일 추가 (.coderabbit.yaml, .gitattributes) CI/CD 파이프라인 구축과 직접적인 관련이 없음.
이슈/PR 템플릿 파일 추가 (.github/ISSUE_TEMPLATE/*, .github/PULL_REQUEST_TEMPLATE/*) CI/CD 파이프라인 구축 이슈(#13)와는 별도의 관리 영역임.

Possibly related PRs

Suggested labels

💡 feature

Poem

🐇
새싹처럼 돋는 코드의 숲,
CI/CD로 자동 배포 꿈을 품고,
도메인별 새 엔티티 줄줄이 등장,
예외와 응답도 한결같이 단정!
깃헙 액션이 깡총깡총,
웨이블의 봄을 알리는
토끼의 코드 축제!


📜 Recent review details

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

📥 Commits

Reviewing files that changed from the base of the PR and between de690a4 and 2ffba3a.

⛔ Files ignored due to path filters (1)
  • wayble-spring/gradle/wrapper/gradle-wrapper.jar is excluded by !**/*.jar
📒 Files selected for processing (60)
  • .coderabbit.yaml (1 hunks)
  • .github/workflows/cd-develop.yml (1 hunks)
  • build.gradle (2 hunks)
  • src/main/java/com/wayble/server/ServerApplication.java (1 hunks)
  • src/main/java/com/wayble/server/common/MainController.java (1 hunks)
  • src/main/java/com/wayble/server/common/MainErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/common/aop/LoggingAspect.java (1 hunks)
  • src/main/java/com/wayble/server/common/entity/Address.java (1 hunks)
  • src/main/java/com/wayble/server/common/entity/BaseEntity.java (1 hunks)
  • src/main/java/com/wayble/server/common/exception/ApplicationException.java (1 hunks)
  • src/main/java/com/wayble/server/common/exception/ErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/common/exception/GlobalExceptionHandler.java (1 hunks)
  • src/main/java/com/wayble/server/common/response/CommonResponse.java (1 hunks)
  • src/main/java/com/wayble/server/direction/controller/DirectionController.java (1 hunks)
  • src/main/java/com/wayble/server/direction/exception/DirectionErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/direction/service/DirectionService.java (1 hunks)
  • src/main/java/com/wayble/server/review/controller/ReviewController.java (1 hunks)
  • src/main/java/com/wayble/server/review/dto/ReviewRegisterDto.java (1 hunks)
  • src/main/java/com/wayble/server/review/dto/ReviewResponseDto.java (1 hunks)
  • src/main/java/com/wayble/server/review/entity/Review.java (1 hunks)
  • src/main/java/com/wayble/server/review/entity/ReviewImage.java (1 hunks)
  • src/main/java/com/wayble/server/review/exception/ReviewErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/review/repository/ReviewImageRepository.java (1 hunks)
  • src/main/java/com/wayble/server/review/repository/ReviewRepository.java (1 hunks)
  • src/main/java/com/wayble/server/review/service/ReviewService.java (1 hunks)
  • src/main/java/com/wayble/server/search/controller/SearchController.java (1 hunks)
  • src/main/java/com/wayble/server/search/exception/SearchErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/search/service/SearchService.java (1 hunks)
  • src/main/java/com/wayble/server/user/controller/UserController.java (1 hunks)
  • src/main/java/com/wayble/server/user/dto/UserRegisterDto.java (1 hunks)
  • src/main/java/com/wayble/server/user/dto/UserResponseDto.java (1 hunks)
  • src/main/java/com/wayble/server/user/entity/Gender.java (1 hunks)
  • src/main/java/com/wayble/server/user/entity/LoginType.java (1 hunks)
  • src/main/java/com/wayble/server/user/entity/User.java (1 hunks)
  • src/main/java/com/wayble/server/user/entity/UserType.java (1 hunks)
  • src/main/java/com/wayble/server/user/exception/UserErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/user/repository/UserRepository.java (1 hunks)
  • src/main/java/com/wayble/server/user/service/UserService.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/controller/WaybleZoneController.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/dto/WaybleZoneRegisterDto.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/dto/WaybleZoneResponseDto.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/entity/WaybleZone.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/entity/WaybleZoneImage.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/entity/WaybleZoneType.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/exception/WaybleZoneErrorCase.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/repository/WaybleZoneImageRepository.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/repository/WaybleZoneRepository.java (1 hunks)
  • src/main/java/com/wayble/server/wayblezone/service/WaybleZoneService.java (1 hunks)
  • wayble-spring/.gitattributes (1 hunks)
  • wayble-spring/.github/ISSUE_TEMPLATE/bug-report-template.md (1 hunks)
  • wayble-spring/.github/ISSUE_TEMPLATE/common-issue-template.md (1 hunks)
  • wayble-spring/.github/PULL_REQUEST_TEMPLATE/PULL_REQUEST_TEMPLATE.md (1 hunks)
  • wayble-spring/.gitignore (1 hunks)
  • wayble-spring/build.gradle (1 hunks)
  • wayble-spring/gradle/wrapper/gradle-wrapper.properties (1 hunks)
  • wayble-spring/gradlew (1 hunks)
  • wayble-spring/gradlew.bat (1 hunks)
  • wayble-spring/settings.gradle (1 hunks)
  • wayble-spring/src/main/java/com/wayble/server/ServerApplication.java (1 hunks)
  • wayble-spring/src/test/java/com/wayble/server/ServerApplicationTests.java (1 hunks)
✨ Finishing Touches
  • 📝 Generate Docstrings

🪧 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.
    • Explain this complex logic.
    • 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 explain this code block.
    • @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 explain its main purpose.
    • @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.

Support

Need help? Create a ticket on our support page for assistance with any issues or questions.

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.
  • @coderabbitai generate sequence diagram to generate a sequence diagram of the changes in this PR.
  • @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.

@wonjun-lee-fcwj245 wonjun-lee-fcwj245 merged commit d076afc into main Jul 6, 2025
1 check was pending
@wonjun-lee-fcwj245 wonjun-lee-fcwj245 added the 💡 feature 기능 구현 및 개발 label Jul 6, 2025
wonjun-lee-fcwj245 pushed a commit that referenced this pull request Jul 6, 2025
This reverts commit d076afc, reversing
changes made to de690a4.
@seung-in-Yoo seung-in-Yoo added the ⚙️ chore 패키지 매니저 및 기타 수정 label Jul 13, 2025
@coderabbitai coderabbitai Bot mentioned this pull request Jul 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

⚙️ chore 패키지 매니저 및 기타 수정 💡 feature 기능 구현 및 개발

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[CI] CI/CD 파이프라인 구축

4 participants