Skip to content

Conversation

@Mminzy22
Copy link
Collaborator

@Mminzy22 Mminzy22 commented Aug 17, 2025

📌 PR 개요

  • 프로덕션 배포를 위해 develop 브랜치의 최신 변경 사항을 main에 병합합니다.
  • 배포 파이프라인 및 시맨틱 릴리즈 기준 브랜치를 main으로 일원화합니다.

🔍 변경 사항

  • 사용자/인증: AWS Cognito 연동, POST /api/users/signin-up, GET /api/users/me
  • 매칭: 매칭 목록/생성/참여/취소 핵심 API 골격 반영 (/api/matches, /api/matches/me, 참가/취소 엔드포인트)
  • 엔터티/스키마: Users, Matches, MatchParticipants 기본 모델 및 연관관계
  • 설정: JPA ddl-auto=update, PostgreSQL 연결 프로퍼티 정리
  • 운영: 헬스 체크(Health Check) GET /actuator/health 활성화
  • 배포: GitHub Actions 워크플로 추가(백엔드 빌드/배포), 시맨틱 릴리즈 워크플로 적용(branches: ['main'])
  • 문서/정리: README 정리

🧪 테스트 방법

  1. 워크플로 확인
    • Actions에서 release 워크플로 실행 및 태그/릴리즈 생성 여부 확인.
  2. 런타임 스모크 테스트
    • 배포된 백엔드 엔드포인트 헬스 체크: GET /actuator/health → 200 OK 확인.
    • 코그니토 토큰으로 사용자 동기화: POST /api/users/signin-up (Authorization: Bearer <access_token>) → 200 확인.
    • 매칭 목록 조회: GET /api/matches → 200 및 응답 스키마 확인.
  3. DB 연결 확인
    • RDS 엔드포인트/포트/자격증명 환경 변수 검증.
    • 최초 접속 시 테이블 생성/업데이트(JPA ddl-auto=update) 정상 동작 확인.

✅ 체크리스트

  • 코드가 정상적으로 동작함
  • 기존 기능에 문제가 없음
  • 코드 컨벤션(Prettier/ESLint, Checkstyle 등)을 통과함
  • 필요 시 문서 업데이트 완료
  • 관련 이슈에 연결함

📎 참고 이슈

Ref: #

hyeminleeee and others added 30 commits August 9, 2025 20:50
🏗️ setup: 프로젝트 초기 설정
- gradle-wrapper.jar 재생성
- .gitignore에 gradle-wrapper.jar 예외 규칙 추가
- 기존 *.jar 규칙 위치 조정
- 개발 및 빌드 편의성을 위한 의존성 추가
- pre-commit 및 commit-msg 훅 설치 자동화
- npm 의존성 설치 포함
…mmitmsg

Feature/4 setup precommit commitmsg
🔧 config: dev, prod 환경별 Spring 설정 파일 분리 적용
✨ feat(user): user 엔터티 및 repository 추가
서비스 정책 설정을 위한 config 파일 작성
♻️refactor(user): 사용자 기본 프로필 사진 URL 설정 및 엔티티 정리
Mminzy22 and others added 22 commits August 17, 2025 03:19
🏗️ setup: ecr, ecs repository_dispatch 방식으로 변경 (트리거)
- Actuator 의존성 추가
- 헬스 체크 엔드포인트 설정
- /actuator/health 엔드포인트 활성화
…-endpoint

✨ feat: 애플리케이션 모니터링을 위한 Spring Boot Actuator 추가
- application.yml에 springdoc 설정 추가
- /v3/api-docs 엔드포인트 경로 명시적 설정
- Swagger UI 경로 및 정렬 옵션 설정
- API 문서 스캔 패키지 범위 지정
…dpoint

🐛 fix: springdoc OpenAPI 엔드포인트 404 오류 해결
…rkflow

🔧 config(gha): 시맨틱 릴리즈 워크플로 추가
🔧 config: semantic-release가 정확한 커밋/태그를 인식하도록 checkout 설정 보완
@Mminzy22 Mminzy22 requested a review from a team August 17, 2025 17:29
@hyeminleeee hyeminleeee self-requested a review August 17, 2025 17:33
@hyeminleeee hyeminleeee merged commit 25c808c into main Aug 17, 2025
2 checks passed
github-actions bot pushed a commit that referenced this pull request Aug 17, 2025
## 1.0.0 (2025-08-17)

* "🔧 config: SecurityConfig, WebConfig @configuration 추가 ([0f7611c](0f7611c))
* ♻️ 코드 포맷팅 적용 (spotless) ([20f9ebe](20f9ebe))
* ✨feat(config):SwaggerConfig 추가 ([961c8b1](961c8b1))
* 🏗️ setup: ecr 레포지토리 도커 이미지 빌드 후 배포 ([86db817](86db817))
* 🏗️ setup: ecr, ecs repository_dispatch 방식으로 변경 (트리거) ([2eb32ac](2eb32ac))
* 🏗️ setup: main 브랜치 작업전 develop 브랜치 테스트 ([f4ef871](f4ef871))
* 🏗️ setup: package.json 및 package-lock.json에 semantic-release 관련 패키지 추가 및 버전 업데이트 ([97a8b7a](97a8b7a))
* 🏗️ setup: 개발 환경 초기 설정 스크립트 추가 ([37cb617](37cb617))
* 🏗️ setup: 이미지 빌드를 위한 docker file 추가 ([618745f](618745f))
* 🏗️ setup: 태스크 정의 생성 후 서비스에 태스크 적용 ecs 배포 ([87997a7](87997a7))
* 🏗️ setup: 프로젝트 초기 설정(close #1) ([46de305](46de305)), closes [#1](#1)
* 🔧 config: .gitignore `!` 예외 처리 하단으로 위치 변경 ([bb1dfdc](bb1dfdc))
* 🔧 config: .gitignore 파일 생성 및 규칙 추가 ([088cfe9](088cfe9))
* 🔧 config: dev, prod 환경별 Spring 설정 파일 분리 적용 ([12419d0](12419d0))
* 🔧 config: gradle wrapper 복구 및 .gitignore 예외 처리 ([5442a1c](5442a1c))
* 🔧 config: pre-commit 및 commit-msg 훅 설정 ([dcf9cf3](dcf9cf3)), closes [#4](#4)
* 🔧 config: Swagger 사용 및 Security 설정을 위한 의존성 추가 ([136c5f3](136c5f3))
* 🔧 config: 환경별 CORS 허용 Origin 설정을 yml에서 관리하도록 변경 ([e803a55](e803a55))
* 🔧 config(actions): 시맨틱 릴리즈 안정화를 위해 checkout에 ref=${{ github.sha }} 및 fetch-tags:true 추가 ([b57cdcc](b57cdcc))
* 🔧 config(ci): GitHu¤정 추가 (build, lint 포함) ([5577fbd](5577fbd))
* 🔧 config(cins CI 설정 ([5d465bf](5d465bf))
* 🔧 config(gha): 시맨틱 릴리즈 워크플로 추가 ([97525ed](97525ed))
* 🔧 config(husky): pre-commit 파일 인코딩 문제 수정 ([b4b7d74](b4b7d74))
* 🔧 config(script): pip install 후 환경 즉시 반영하도록 쉘 스크립트 수정 ([00dcc8a](00dcc8a))
* Initial commit ([4e8cd35](4e8cd35))
* Merge branch 'develop' of https://github.com/next-engineer/next-kickytime-server into develop ([c94c363](c94c363))
* Merge branch 'develop' of https://github.com/next-engineer/next-kickytime-server into feature/18-ci ([ef53ee2](ef53ee2))
* Merge pull request #10 from next-engineer/feature/3-create-users-table ([24b4030](24b4030)), closes [#10](#10)
* Merge pull request #15 from next-engineer/feature/14-config-base ([4291753](4291753)), closes [#15](#15)
* Merge pull request #19 from next-engineer/feature/12-match-entity-repo ([9e95a14](9e95a14)), closes [#19](#19)
* Merge pull request #20 from next-engineer/feature/16-user-entity-modify ([b188355](b188355)), closes [#20](#20)
* Merge pull request #22 from next-engineer/feature/18-ci ([4443765](4443765)), closes [#22](#22)
* Merge pull request #23 from next-engineer/feature/spotless-format-fix ([d3f7853](d3f7853)), closes [#23](#23)
* Merge pull request #24 from next-engineer/feature/update-script-env-reload ([1b37865](1b37865)), closes [#24](#24)
* Merge pull request #25 from next-engineer/feature/setup-husky-only ([a0cab85](a0cab85)), closes [#25](#25)
* Merge pull request #28 from next-engineer/feature/19-back-cognito-connect ([b57b419](b57b419)), closes [#28](#28)
* Merge pull request #29 from next-engineer/feature/11-match-participants-entity-repo ([caf6744](caf6744)), closes [#29](#29)
* Merge pull request #3 from next-engineer/feature/1-init-project ([106aa6d](106aa6d)), closes [#3](#3)
* Merge pull request #32 from next-engineer/feature/31-match-delete-api ([b86b125](b86b125)), closes [#32](#32)
* Merge pull request #33 from next-engineer/feature/27-user-sign-in-up ([dce3ef0](dce3ef0)), closes [#33](#33)
* Merge pull request #35 from next-engineer/feature/30-my-profile ([ce97a4c](ce97a4c)), closes [#35](#35)
* Merge pull request #42 from next-engineer/feature/36-match ([de8df1f](de8df1f)), closes [#42](#42)
* Merge pull request #44 from next-engineer/feature/37-match ([c1852a7](c1852a7)), closes [#44](#44)
* Merge pull request #45 from next-engineer/feature/38-match ([3fcc9d5](3fcc9d5)), closes [#45](#45)
* Merge pull request #46 from next-engineer/feature/39-match ([14d40c2](14d40c2)), closes [#46](#46)
* Merge pull request #47 from next-engineer/feature/43-my-profile-unit-test ([7f620e3](7f620e3)), closes [#47](#47)
* Merge pull request #49 from next-engineer/feature/48-createdat-dto-add ([865a023](865a023)), closes [#49](#49)
* Merge pull request #5 from next-engineer/feature/4-setup-precommit-commitmsg ([7260bb6](7260bb6)), closes [#5](#5)
* Merge pull request #52 from next-engineer/feature/40-match-me-api ([d74fcfc](d74fcfc)), closes [#52](#52)
* Merge pull request #54 from next-engineer/feature/41-match-delete-api-junit-test ([c8b3dc1](c8b3dc1)), closes [#54](#54)
* Merge pull request #55 from next-engineer/feature/update-application-yml ([ecf3cda](ecf3cda)), closes [#55](#55)
* Merge pull request #57 from next-engineer/feature/51-email-verified-add ([b20031f](b20031f)), closes [#57](#57)
* Merge pull request #59 from next-engineer/feature/57-cognito-backfill ([a166000](a166000)), closes [#59](#59)
* Merge pull request #60 from next-engineer/feature/add-docker-file ([c80d477](c80d477)), closes [#60](#60)
* Merge pull request #63 from next-engineer/feature/62-api-fix ([43e1fc5](43e1fc5)), closes [#63](#63)
* Merge pull request #64 from next-engineer/feature/61-ecr-ecs-deploy ([f1eea6c](f1eea6c)), closes [#64](#64)
* Merge pull request #66 from next-engineer/feature/semantic-release-setup ([d4dcb39](d4dcb39)), closes [#66](#66)
* Merge pull request #67 from next-engineer/feature/61-ecr-ecs-deploy ([00af0ff](00af0ff)), closes [#67](#67)
* Merge pull request #69 from next-engineer/feature/ec2-deploy-add ([52d639a](52d639a)), closes [#69](#69)
* Merge pull request #70 from next-engineer/feature/add-actuator-health-endpoint ([83afbb5](83afbb5)), closes [#70](#70)
* Merge pull request #71 from next-engineer/feature/swagger-api-docs-endpoint ([207198b](207198b)), closes [#71](#71)
* Merge pull request #73 from next-engineer/feature/72-docs-readme-update ([53f4652](53f4652)), closes [#73](#73)
* Merge pull request #74 from next-engineer/feature/semantic-release-workflow ([b8b259f](b8b259f)), closes [#74](#74)
* Merge pull request #75 from next-engineer/feature/68-ec2-deploy-add ([464974b](464974b)), closes [#75](#75)
* Merge pull request #76 from next-engineer/feature/release-checkout-sha ([522bdf8](522bdf8)), closes [#76](#76)
* Merge pull request #77 from next-engineer/develop ([25c808c](25c808c)), closes [#77](#77)
* Merge pull request #8 from next-engineer/feature/2-add-env-config ([75da0a2](75da0a2)), closes [#8](#8)
* ✨  feat(user): userController 추가 ([91d3750](91d3750))
* ✨  feat(user): userRepository findByCognitoSub으로 변경 ([0c7d1d7](0c7d1d7))
* ✨ feat: build.gradle group 수정 ([11d99c3](11d99c3))
* ✨ feat: ec2.yml 추가 deploy test ([dfd2980](dfd2980))
* ✨ feat: ec2.yml, ecr.yml 수정 ([698a28e](698a28e))
* ✨ feat: 애플리케이션 모니터링을 위한 Spring Boot Actuator 추가 ([4a0811a](4a0811a))
* ✨ feat(auth): 나의 매치 목록 확인 controller 추가 ([6f55b9a](6f55b9a))
* ✨ feat(common): created_at, updated_at base entity에 생성 ([3b0bf59](3b0bf59))
* ✨ feat(match): jpql을 사용해서 나의 매칭 목록 조회 쿼리 작성 ([ea0681a](ea0681a))
* ✨ feat(match): match entity 어노테이션 추가 ([65333fc](65333fc))
* ✨ feat(match): match entity, repository 추가 ([a927345](a927345))
* ✨ feat(match): match entity, repository 추가 ([6abf3fe](6abf3fe))
* ✨ feat(match): match 경기 조회 구현 ([b7dc6ac](b7dc6ac))
* ✨ feat(match): MatchParticipant 레포지토리 생성 ([69ef7f4](69ef7f4))
* ✨ feat(match): MatchParticipant 엔티티 생성 ([7c80927](7c80927))
* ✨ feat(match): 경기 참여 api 추가 ([36dcaa0](36dcaa0))
* ✨ feat(match): 경기 참여 취소 api 추가 ([8f86acd](8f86acd))
* ✨ feat(match): 관리자 경기 개설 api 추가 ([4c5a531](4c5a531))
* ✨ feat(match): 관리자 매치 삭제 API 구현 ([deeccb9](deeccb9))
* ✨ feat(match): 관리자 매치 삭제 API 구현 ([9c391ce](9c391ce))
* ✨ feat(match): 관리자 매치 삭제 API 구현 ([1a5d068](1a5d068))
* ✨ feat(match): 관리자 매치✨ feat(m 로직 추가 ([9e02e15](9e02e15))
* ✨ feat(match): 관리자 매칭 삭제 API 구현 ([e3a011f](e3a011f))
* ✨ feat(match): 나의 매칭 목록 서비스 로직 추가 ([f1e2f6a](f1e2f6a))
* ✨ feat(match): 중복된 UNIQUE 제약 조건 해결을 위해 name 명시 ([1ed342c](1ed342c))
* ✨ feat(user): accessToken 디코더 추가 ([a66873a](a66873a))
* ✨ feat(user): application.yml cognito 사용자 풀 정보 입력(보안이슈x) ([a6bfbe3](a6bfbe3))
* ✨ feat(user): cognito 사용자 풀 → RDS 사용자 백필 기능 추가 ([cc1a2cd](cc1a2cd))
* ✨ feat(user): email_verified 추가 ([f346b5f](f346b5f))
* ✨ feat(user): jwt 자동 검증 설정 추가 ([2f34eb0](2f34eb0))
* ✨ feat(user): user Entity 어노테이션 수정 ([6f49ffb](6f49ffb))
* ✨ feat(user): user 엔터티 및 repository 추가 ([456bd2d](456bd2d))
* ✨ feat(user): userDto createdAt 추가 ([a329a59](a329a59))
* ✨ feat(user): userDto createdAt 추가 ([66b1676](66b1676))
* ✨ feat(user): userService 생성 ([0da5231](0da5231))
* ✨ feat(user): 내 프로필 조회 api 구현(Controller, Service, DTO) ([070f972](070f972))
* ✨ feat(user): 사용자 정보 json으로 추출 ([2af5871](2af5871))
* ✨ feat(user): 의존성 추가 ([0c8c85b](0c8c85b))
* ✨ feat(user): 토큰 유효성 추가 검사 ([cd5c273](cd5c273))
* ✨ feat(user): 프로필 기본 사진 추가 ([dcc7494](dcc7494))
* ✨ feat(user): 회원가입 post로 변경 ([296a0a2](296a0a2))
* ✨feat(config):  WebConfig CORS 추가 ([b7aac1c](b7aac1c))
* ✨feat(config): SecurityConfig (cors bridge, /api/**, swagger) 추가 ([5dd18b8](5dd18b8))
* 📄 docs: readme.md 개정 – 위키 링크/아키텍처 추가 ([9146f47](9146f47))
* 📄 docs: readme.md 네트워크 아키텍처 이미지 추가 ([57c5ad8](57c5ad8))
* 📄 docs: readme.md 수정 – 위키 링크 업데이트 및 문서 경로 변경 ([9a09b04](9a09b04))
* 📄 docs: 기능 요청 및 Task 이슈 템플릿 수정 ([644bdca](644bdca))
* 📄 docs: 이슈/PR/기여 가이드 템플릿 추가 ([8a29d3d](8a29d3d))
* 📝 docs: task 이슈템플릿 textarea render 옵션 제거 ([3669abb](3669abb))
* ✏️  fix: rankenum 오타 수정 ([b88cedc](b88cedc))
* ✏️  fix: 오타수정 ([4422eb3](4422eb3))
* ✏️ fix: dev gitignore 처리 추가 설정 ([88a7c69](88a7c69))
* ✏️ fix: 검증 스탭에서 실패 허용 ([8c1bfa7](8c1bfa7))
* ✏️ fix: 리소스 서버 자동 설정 비활성화 → jwk 원격 호출 방지 ([11d8632](11d8632))
* ✏️ fix: 환경 변수 추가 ([072e624](072e624))
* 🐛 fix: import 순서 맞춤 ([351e4b6](351e4b6))
* 🐛 fix: springdoc OpenAPI 엔드포인트 404 오류 해결 ([726b9ec](726b9ec))
* 🐛 fix(match): front와 api연결하며 데이터 전송방식, 변수명 등 통일되지 않은 부분 수정 ([9dc7772](9dc7772))
* 🐛 fix(match): 소스코드 수정 후 테스트 코드 리팩토링이 덜 되서 마저 수정 및 테스트 후 예외처리 패턴 다른 코드 수정 ([181bac5](181bac5))
* 🐛 fix(match): 이전 커밋할 때 precommit이 안돼서 precommit 후 재 커밋 ([840d3af](840d3af))
* 🚨 fix(match): 테스트 실패 원인 수정 ([bf2fc13](bf2fc13))
* 🚨 fix(match): 테스트 실패 원인 수정 ([1af1c18](1af1c18))
* 🚨 fix(test): 테스트 실패 원인 수정 ([ea6a34e](ea6a34e))
* 📦  chore: jwt 검증 설정(application.yml) ([e38bf31](e38bf31))
* 📦  chore: oauth2 리소스 서버 라이브러리 추가 ([300ffee](300ffee))
* 📦 chore: build.gradle 편의 의존성 추가 ([e2c690d](e2c690d))
* 📦 chore: husky 전용 setup 스크립트로 변경 ([eccb851](eccb851))
* 📦 chore: semantic-release 설정 파일 추가 ([092ce09](092ce09))
* ♻️  refactor: user entitiy refactoring(no logic change) ([cc7d748](cc7d748))
* ♻️  refactor(structure): 디렉토리 변경 ([50c0e05](50c0e05))
* ♻️ refactor:  매칭 삭제 기능 관련 컨트롤러 서비스 파일로 경로 변경 ([434106b](434106b))
* ♻️ refactor: application.yml cognito 추가 ([728a38d](728a38d))
* ♻️ refactor: application.yml 역할 분할 ([4268dd9](4268dd9))
* ♻️ refactor: headerPattern에서 '!'를 추가하여 커밋 메시지 형식 개선 ([7bbe802](7bbe802))
* ♻️ refactor: 관리자 삭제 병합 시 충돌 방지 ([845306b](845306b))
* ♻️ refactor: 나의 매치 목록 서비스 로직 수정 ([b0cee06](b0cee06))
* ♻️ refactor: 매치 관련 파일 위치 수정 ([707e192](707e192))
* ♻️ refactor: 매치 관련 파일 위치 수정 ([b356008](b356008))
* ♻️ refactor(user): 사용자 기본 프로필 사진 URL 설정 및 엔티티 정리 ([6e149c7](6e149c7))
* 🎨  style: apply formatter (no logic change) ([11488bd](11488bd))
* 🎨  style: securityConfig 파일 줄 정리 ([3724301](3724301))
* 🎨  style: userService 공백 정리 ([8a1dcb6](8a1dcb6))
* 🎨  style: 공백 및 줄 정리 ([3d8e788](3d8e788))
* 🎨 style: import 순서 및 공백 정리 ([78fad83](78fad83))
* 🎨 style: Spotless/Checkstyle 규칙 적용 및 import 순서·와일드카드 수정 ([01101cf](01101cf))
* 🎨 style: 기존 로직에는 영향 없이 코드 포맷만 수정 ([9737e13](9737e13))
* 🎨 style: 코드 스타일 변경 ([02b729d](02b729d))
* 🎨style: 사용되지 않는 import 제거 ([a6dfd65](a6dfd65))
* ✨ test(match): 누락된 MatchResponseDto 추가 ([c621a3a](c621a3a))
* 🧪 test(match): match 경기 조회 서비스 테스트 구현 ([361016a](361016a))
* 🧪 test(match): 경기 참여 api 테스트 추가 ([0289e71](0289e71))
* 🧪 test(match): 경기개설 테스트 추가 ([516d929](516d929))
* 🧪 test(match): 경기참여 테스트 코드 추가 ([e465892](e465892))
* 🧪 test(match): 나의 매치 목록 조회 test 코드 작성 ([44a3b18](44a3b18))
* 🧪 test(user): email_verified 추가로 인한 테스트 변경 ([9985067](9985067))
* 🧪 test(user): 경기 삭제 api test 추가 ([e0d02ba](e0d02ba))
* 🧪 test(user): 내 프로필 조회, 로그인, 회원가입 API 테스트 추가 ([7cd6ce1](7cd6ce1))
@github-actions
Copy link

🎉 This PR is included in version 1.0.0 🎉

The release is available on GitHub release

Your semantic-release bot 📦🚀

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants