-
Notifications
You must be signed in to change notification settings - Fork 2
[CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) #44
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
99hyuk
added a commit
that referenced
this pull request
Apr 27, 2025
* [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <[email protected]> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <[email protected]> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) --------- Co-authored-by: doyonkim <[email protected]>
99hyuk
added a commit
that referenced
this pull request
Apr 27, 2025
* [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <[email protected]> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <[email protected]> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <[email protected]>
99hyuk
added a commit
that referenced
this pull request
Apr 28, 2025
* [CICD] release 배포 (#46) * [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <[email protected]> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <[email protected]> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <[email protected]> * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] DockerFile 이미지에 curl 설치 * [REFACT] cd_workflow 파일 헬스체크 시간 확대 * [REFACT] dockerfile 자바 이미지 변경 * [REFACT] SecurityConfig에 인증되지 않은 사용자도 healthcheck에 접근할 수 있또록 수정 * [REFACT] 스웨거도 접속 가능하도록 수정 * [REFACT] CORS 설정 수정 * [REFACT] 도커파일 헬스체크 지연시간 추가 * [REFACT] cd_workflow 헬스체크 시간 추가 * [TEST] 테스트 위해 인증 로직 임시 수정 * [TEST] 테스트 위해 SecurityConfig 임시 수정 (최신 브랜치 기준) * [REFACT] Discord 알림 폴링 시간 100초 -> 150초로 증가 * 배포 prod.yml ddl-auto: create -> update로 수정 * [REFACT] docker HealthCheck 개선 (작동 시간 증가) * [REFACT] 배포 후 빌드 과정에 캐시 사용하지 않도록 수정 * [REFACT] 도커파일 설정에서 어떤 .jar 파일을 빌드할 지 명확히 설정 * [REFACT] cd 배포 파일에서 도커 이미지 정리, 도커 헬스체크 의존성 포함 여부 검증 로직 추가 * [FIX] localhost는 러너 기준으로 문제가 있어 EC2 기준으로 디스코드 배포 알림 URL 수정 * [FIX] Authorization 헤더 노출 가능하도록 수정, 쿠키 자격 증명 비활성화되도록 CORS 수정 * [FIX] SelfDiagnosis 조회 시 createdAt null 방어 처리 및 Update 메소드 리턴 제거 * [REFACT] SpringSecurity 내 basic 인증 사용하지 않도록 설정, 세션 사용하지 않도록 설정 --------- Co-authored-by: doyonkim <[email protected]>
99hyuk
added a commit
that referenced
this pull request
Apr 30, 2025
…compose 도입 버전 배포 (#49) * [BUG] 배포 상황이 안정된 브랜치로 복구, 도커 설정 관련 수정, Authorization 헤더 노출 CORS 수정 (#47) * [CICD] release 배포 (#46) * [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <[email protected]> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <[email protected]> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <[email protected]> * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] DockerFile 이미지에 curl 설치 * [REFACT] cd_workflow 파일 헬스체크 시간 확대 * [REFACT] dockerfile 자바 이미지 변경 * [REFACT] SecurityConfig에 인증되지 않은 사용자도 healthcheck에 접근할 수 있또록 수정 * [REFACT] 스웨거도 접속 가능하도록 수정 * [REFACT] CORS 설정 수정 * [REFACT] 도커파일 헬스체크 지연시간 추가 * [REFACT] cd_workflow 헬스체크 시간 추가 * [TEST] 테스트 위해 인증 로직 임시 수정 * [TEST] 테스트 위해 SecurityConfig 임시 수정 (최신 브랜치 기준) * [REFACT] Discord 알림 폴링 시간 100초 -> 150초로 증가 * 배포 prod.yml ddl-auto: create -> update로 수정 * [REFACT] docker HealthCheck 개선 (작동 시간 증가) * [REFACT] 배포 후 빌드 과정에 캐시 사용하지 않도록 수정 * [REFACT] 도커파일 설정에서 어떤 .jar 파일을 빌드할 지 명확히 설정 * [REFACT] cd 배포 파일에서 도커 이미지 정리, 도커 헬스체크 의존성 포함 여부 검증 로직 추가 * [FIX] localhost는 러너 기준으로 문제가 있어 EC2 기준으로 디스코드 배포 알림 URL 수정 * [FIX] Authorization 헤더 노출 가능하도록 수정, 쿠키 자격 증명 비활성화되도록 CORS 수정 * [FIX] SelfDiagnosis 조회 시 createdAt null 방어 처리 및 Update 메소드 리턴 제거 * [REFACT] SpringSecurity 내 basic 인증 사용하지 않도록 설정, 세션 사용하지 않도록 설정 --------- Co-authored-by: doyonkim <[email protected]> * [FEAT] 사용자 언어 설정 및 조회 API 구현, 회원가입 시 언어, 국적 코드로 입력 받도록 수정 (#21) * [FEAT] 유저 언어 설정, 조회 컨트롤러 작성 * [FEAT] 데이터베이스 내 모든 언어 조회 API 구현 * [FEAT] 데이터베이스 내 모든 국가 조회 API 구현 * [FEAT] 유저 언어 설정 변경 및 조희 API 구현 * [FEAT] 유저 국적 설정 및 조회 API 구현 * [REFACT] 회원가입 시 국적, 언어 ID가 아닌 Code로 가입하도록 수정 * [CHORE] 국가, 언어 필드 유니크 제약조건 추가, 회원가입 스웨거 기본값(국적, 언어) 수정 * [CHORE] 불필요한 언어 dto 삭제 --------- Co-authored-by: doyonkim <[email protected]>
99hyuk
added a commit
that referenced
this pull request
May 8, 2025
* [BUG] 배포 상황이 안정된 브랜치로 복구, 도커 설정 관련 수정, Authorization 헤더 노출 CORS 수정 (#47) * [CICD] release 배포 (#46) * [FIX] 인증 로직 개선 및 JWT 직렬화 방식 수정 (#38) * [FIX] principal을 UserDetails 객체로 변경하고 credentials은 인증 후 null 처리 * [FIX] JWT claims를 단순 타입으로 직렬화하도록 변경 * [REFACT] JWT claims 각주 설명 추가 * [FEAT] 건강상태 CRUD api 구현 (#35) 수고하셨습니다. * [REFACT] 도메인 연관관계 개선 및 엔티티 구조 리팩토링 (복합키 제거, 연관명칭 통일, 생명주기 관리 명확화) (#39) (#40) * [REFACT] Hospital orphanRemoval 설정, HospitalDepartment 복합키 제거 후 단일 기본키로 변경 * [REFACT] 자가진단증상 엔티티 클래스명 변경, 복합키 삭제 후 단일 기본키로 수정 * [REFACT] 도메인 클래스명 변경 VisitHistory -> MedicalRecord * [REFACT] 도메인 클래스명 변경 MedicalHistory -> HealthStatus, HealthStatus와 User를 1대1 관계로 설정 * [REFACT] 번역테이블 번역필드 추가, summary 테이블 기본 PK로 수정 및 연관관계 수정, Nation 테이블 국가 코드 필드 추가, privateInformation 테이블 비활성화 * [REFACT] 언어 CRUD 관련 컨트롤러, 로직 비활성화 (DB로 직접 관리) * [FIX] MedicalRecord, Summary 테이블 간 연관 필드 매핑 수정 * [FEAT] 의료기록 CRUD api 구현 (#33) * [FEAT] 의료기록 CRUD api 구현 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 api 리팩토링 * [REFACT] 의료기록 converter 수정 * [REFACT] 리뷰 반영_1 * [REFACT] 의료기록 api 피드백 반영 * [REFACT] Summary 테이블의 contents 필드 삭제 * [CHORE] VisitHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] visitHistoryService 의 visit history 조회 쿼리메서드 변경 * [CHORE] DepartmentRepository, HospitalRepository 삭제 * [CHORE] visitHistory -> medicalRecord(이름변경) 에 따른 수정사항 수정 * [CHORE] 건강상태 테이블명 변경 이후 수정사항 수정 (#42) * [FEAT] 건강상태 CRUD api 구현 * [REFACT] 건강상태 api 리팩토링 * [REFACT] 건강상태 converter 수정 * [REFACT] 건강상태 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] MedicalHistoryController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [REFACT] MedicalHistoryService 의 midecal history 조회 쿼리 메서드 변경 * [CHORE] MedicalHistory -> HealthStatus(테이블명 변경) 에 따른 수정사항 수정 * [REFACT] 건강상태 기록이 유저 한 명당 하나씩만 보유할 수 있으므로 모든 기록을 조회하는 관련 로직들 주석 처리 * [REFACT] 유저 <-> 건강상태 단방향으로 변경 * [REFACT] 사용하지 않는 로직 주석화 --------- Co-authored-by: 99hyuk <[email protected]> * [FEAT] 자가진단표 api 구현 (#37) * [FEAT] 자가진단표 api 구현 * [REFACT] 자가진단표 api 리팩토링 * [CHORE] 오타 수정 * [REFACT] user api 리팩토링 * [REFACT] 증상 목록 조회 api 수정 * [REFACT] 자가진단표 api 컨버터 수정 * [CHORE] 사소한 코드 수정 * [TEMP] 임시저장 * [REFACT] 자가진단표 api 피드백 반영 * [REFACT] @userid 로 변경 * [CHORE] SelfDiagnosisController, SymptomController 에 스웨거 세부 설정 추가 * [CHORE] 리뷰/피드백 반영 * [CHORE] 불필요한 코드, 파일 삭제 * [REFACT] selfDiagnosisService 의 self diagnosis 조회 쿼리 메서드 변경 * [REFACT] 피드백/리뷰 반영 SelfDiagnosisConverter 의 많은 메서드에 포함된 로직을 새 메서드(SymptomListForResponseDto) 로 뺌. UserController, UserService 의 사용자 삭제 api 삭제 및 사용자 비활성화 api 의 method 를 patch->delete 로 변경 * [CHORE] 피드백/리뷰 반영 1. SymptomConverter의 메서드명 변경(2 삭제) 2. 불필요한 user dto 모두 삭제 * [CHORE] SelfSymptom -> DiagnosisSymptom(이름변경)에 따른 수정사항 수정 * [CHORE] SelfDiagnosisConverter 일부 메서드 이름 수정 * [REFACT] 자가진단 수정하는 경우 tobuilder에서 user값을 받을 필요 없음, createAt 또한 엔티티 어노테이션에서 자동 적용되므로 삭제 * [REFACT] 변수명 수정 * [REFACT] SelfDiagnosis 엔티티 내 @SuperBuilder -> @builder 로 수정 (상속 없음) * [REFACT] BaseEntity에 빌더 패턴 필요 없음 --------- Co-authored-by: 99hyuk <[email protected]> * [CICD] Spring Boot Healthcheck 활성화 및 docker-compose 기반 자동 배포 구축, CORS 설정 (#43) (#44) * [FEAT] spring actuator 의존성 주입 * [FEAT] 배포용 yml에 actuator 헬스체크 경로 추가 * [REFACT] 배포 CD 워크플로우 수정 (compose.yml, .env 파일 생성, 도커 재시작) * [REFACT] curl localhost로 작동하도록 수정 * [REFACT] CORS 설정 원복 (필터 삭제, 모든 접속 허가, 로그인/회원가입을 제외하곤 인증된 사용자만 접근 가능) * [REFACT] cd_workflow 파일 수정 --------- Co-authored-by: doyonkim <[email protected]> * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] cd_workflow 파일 수정 * [REFACT] DockerFile 이미지에 curl 설치 * [REFACT] cd_workflow 파일 헬스체크 시간 확대 * [REFACT] dockerfile 자바 이미지 변경 * [REFACT] SecurityConfig에 인증되지 않은 사용자도 healthcheck에 접근할 수 있또록 수정 * [REFACT] 스웨거도 접속 가능하도록 수정 * [REFACT] CORS 설정 수정 * [REFACT] 도커파일 헬스체크 지연시간 추가 * [REFACT] cd_workflow 헬스체크 시간 추가 * [TEST] 테스트 위해 인증 로직 임시 수정 * [TEST] 테스트 위해 SecurityConfig 임시 수정 (최신 브랜치 기준) * [REFACT] Discord 알림 폴링 시간 100초 -> 150초로 증가 * 배포 prod.yml ddl-auto: create -> update로 수정 * [REFACT] docker HealthCheck 개선 (작동 시간 증가) * [REFACT] 배포 후 빌드 과정에 캐시 사용하지 않도록 수정 * [REFACT] 도커파일 설정에서 어떤 .jar 파일을 빌드할 지 명확히 설정 * [REFACT] cd 배포 파일에서 도커 이미지 정리, 도커 헬스체크 의존성 포함 여부 검증 로직 추가 * [FIX] localhost는 러너 기준으로 문제가 있어 EC2 기준으로 디스코드 배포 알림 URL 수정 * [FIX] Authorization 헤더 노출 가능하도록 수정, 쿠키 자격 증명 비활성화되도록 CORS 수정 * [FIX] SelfDiagnosis 조회 시 createdAt null 방어 처리 및 Update 메소드 리턴 제거 * [REFACT] SpringSecurity 내 basic 인증 사용하지 않도록 설정, 세션 사용하지 않도록 설정 --------- Co-authored-by: doyonkim <[email protected]> * [FEAT] 사용자 언어 설정 및 조회 API 구현, 회원가입 시 언어, 국적 코드로 입력 받도록 수정 (#21) * [FEAT] 유저 언어 설정, 조회 컨트롤러 작성 * [FEAT] 데이터베이스 내 모든 언어 조회 API 구현 * [FEAT] 데이터베이스 내 모든 국가 조회 API 구현 * [FEAT] 유저 언어 설정 변경 및 조희 API 구현 * [FEAT] 유저 국적 설정 및 조회 API 구현 * [REFACT] 회원가입 시 국적, 언어 ID가 아닌 Code로 가입하도록 수정 * [CHORE] 국가, 언어 필드 유니크 제약조건 추가, 회원가입 스웨거 기본값(국적, 언어) 수정 * [CHORE] 불필요한 언어 dto 삭제 * [REFACT] 건강상태 api 수정 (#55) -건강상태 조회, 수정 api 에서 healthStatusId 를 따로 받지 않도록 수정(HealthStatusController) -건강상태 생성(POST) api 삭제 및 SignUpService 에 건강상태 생성 로직 추가 * [REFACT] 자가진단표 생성 api 오류처리 추가 (#54) -자가진단표의 visitType 필드 입력값(enum) 예외 처리 * [FEAT] 마이페이지 api 구현 - profile 만 (#56) * (테스트용 커밋) * [FEAT] MypageController(만) 생성 * [FEAT] 마이페이지 profile 조회, 수정 api 구현 * [CHORE] 불필요한 dto 파일 삭제 * [CHORE] profile 수정 api 수정 -수정 요청시 국가, 언어를 code 로 받도록 dto(MypageProfileUpdateRequest) 수정 * [CHORE] MypageService 예외처리 코드 수정 --------- Co-authored-by: doyonkim <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
📌 관련 이슈
✨ PR 세부 내용
📋 개요
기존 서버 배포 방식은 Docker run -e 옵션을 이용하여 수동으로 환경변수를 주입하는 구조였음.
서버 재부팅 시 환경변수 유실 문제로 정상 서비스가 불가능한 이슈가 있었음.
✅ 이번 PR에서 변경한 사항
Spring Boot application.yml에 /actuator/health 엔드포인트 활성화 추가
기존 docker run -e 배포 방식을 docker-compose.yml + .env 기반으로 변경
GitHub Actions 워크플로우 수정
빌드 → 푸시 → 서버 SSH 접속 → docker-compose 배포 → 헬스체크 자동화
서버에 직접 .env 파일 생성하여 환경변수 관리
restart: always 설정으로 서버 재부팅 시 자동 복구 가능
서버 .env 파일 생성 및 권한 제한(chmod 600) 적용
사용하지 않는 Docker 리소스 자동 정리 (docker system prune -af)
docker-compose pull로 최신 이미지 명시적으로 관리
배포 완료 후 /actuator/health API를 호출하여 서버 정상 작동 여부 체크
EC2 서버에 docker-compose 설치 여부 확인 및 자동 설치 로직 추가
CORS 수정 (원복 -> 불필요한 필터 삭제, 로그인/회원가입을 제외한 경우엔 인증된 사용자만 접근 가능하도록 수정)
📈 기대 효과
서버 무중단 운영
배포 자동화 안정성 강화
Spring Boot 컨테이너 healthcheck 통과 → 시스템 신뢰도 향상
📋 기타
.env 파일은 git에 커밋되지 않으며, GitHub Secrets 기반으로 관리됩니다.
💬 리뷰 요청 사항