Skip to content
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

[#46] db 설정을 외부에서 설정할 수 있도록 환경 변수로 분리하기 #51

Merged
merged 5 commits into from
Jan 20, 2023

Conversation

Sinyoung3016
Copy link
Collaborator

🌱 작업 사항

  • db 설정을 외부에서 설정할 수 있도록 환경 변수로 분리하기
  • docker 컨테이너 실행 시점에서 환경 변수를 설정할 수 있도록 변경

🦄 관련 이슈

close #46

- action 실행 분기 수정, 너무 불필요하게 많이 실행되는 것 같아서 push 시에만 실행되도록 반영
- 배포 워크플로우, build 전에 env 파일 만들어야 빌드 가능해서 생성하는 코드 추가
@Sinyoung3016 Sinyoung3016 self-assigned this Jan 20, 2023
@hyena0608 hyena0608 merged commit afcc1e3 into develop Jan 20, 2023
@hyena0608 hyena0608 deleted the cicd/46-env branch January 20, 2023 10:12
JoosungKwon added a commit that referenced this pull request Jan 20, 2023
* [#1] 어플리케이션 환경 설정 및 Flyway 추가 (#2)

* config: 어플리케이션 환경 설정

* add: flyway 추가

* add: log 설정 파일 추가

* add: PR 템플릿

* [#5, #6] 공통 엔티티 및 User 엔티티 구현 (#21)

* feat: BaseEntity 구현

* feat: User Entity 구현

* style: 패키지 폴더 이동

* refactor: 정규식 리팩터링

* refactor: toString 추가

* refactor: PR 피드백 반영

* config: Spring AOP 의존성 추가

* add: Aspectj auto proxy 어노테이션 추가

* feat: 요청 커스텀 wrapper 및 요청 커스텀 필터 구현

* feat: 요청 데이터 로깅 기능 구현

* [#6] User 엔티티 리팩터링 및 테스트 추가 (#23)

* refactor: User Entity

* test: User Entity 테스트 추가

* [#7, #8]  Post 및 Comment 엔티티 구현 (#22)

* refactor: 요청 데이터 Logging 리팩터링

- AOP를 이용한 LogAspect를 삭제한다.
- 커스텀 HttpServletRequestWrapper를 삭제한다.
- 커스텀 Filter를 삭제한다.
- AbstractRequestLoggingFilter를 상속받아 구현한다.

* update: 이전 버전 요청 데이터 logging 삭제

- AOP를 이용한 LogAspect를 삭제한다.
- 커스텀 HttpServletRequestWrapper를 삭제한다.
- 커스텀 Filter를 삭제한다.

* update: AOP 설정 삭제

- gradle에 AOP 의존을 삭제한다.
- main Application에 AOP 어노테이션을 삭제한다.

* [#4] 엔티티 리팩터링 및 테스트 추가 (#25)

* refactor: User Entity

* refactor: Post Entity

* test: Post Entity

* add: Test Utils

* refactor: Comment Entity

* test: Comment Entity

* refactor: 피드백 반영

* [#28] 테스트 오류로 인한 loggingFilter 어노테이션 수정 (#29)

- fix: 테스트 오류로 인한 loggingFilter 어노테이션 수정

* [#26] chore: jacoco 적용 (#27)

- add: jacoco 추가

* [#15] github action으로 자동빌드 및 테스트 (#33)

* add: Gradle을 사용한 CI 테스트

- secret key 테스트
- datasource 암호화 필요

* update: Gradle을 사용한 CI 테스트2

- 설정에 필요한 db.properties 생성하는 코드 추가

* update: 워크플로우 적용 브랜치를 **에서 dev로 변경

* [#14] 전역 예외처리 핸들링 기능 구현 (#34)

* feat : 전역 예외 처리 핸들러 구현

* feat: 공통 예외 응답 객체 구현

* add: 예외 처리 응답 설정 추가

* update: 매개변수 라인 변경

* [#31] JWT 기능 구현 (#35)

* chore: java-jwt 의존성 추가

* chore: security 어플리케이션 설정

* feat: JwtTokenProvider 구현

* feat: JwtAuthentication 구현

* feat: JwtAuthenticationToken

* feat: JwtAuthenticationFilter 구현

* feat: JwtAuthenticationEntryPoint 구현

* config: security 기본 설정 추가

* chore: application-security.yml 추가

* [#16] 디폴트 회원 가입 및 로그인 기능 구현  (#36)

* add: User DTO 관리 객체 추가

* feat: UserRepository 구현

* feat: UserService interface 구현

* feat: UserService 구현체 추가

* feat: UserController 구현

* [#30] MessageSource 설정 및 메시지 관리 구현 (#37)

* add: MessageSource 환경 설정 추가

* add: 메시지 소스 접근 설정 추가

* feat: 메시지 소스 접근 유틸 기능 추가

* add: 예외 메시지 properties, 로깅 폼 properties 추가

* [#38] SpringBoot profiles별 실행 환경 분리 설정 (#39)

* update: 예외 응답 설정 파일 분리

* update: db 설정 환경별 파일 분리

- db default 설정

- db local 환경 추가 설정

- db prod 환경 추가 설정

* update: SpringBoot profile 별 관리 설정 변경

- 기본 local 환경 실행 설정

- 기본 db, exception, security 환경 실행 설정

- local 환경이라면 db-local 환경 추가 실행 설정

- prod 환경이라면 db-prod 환경 추가 실행 설정

* [#17] docker image를 docker hub에 배포하기 (#40)

* add: docker image 생성하기

* add: docker hub에 push 하기

* update: docker hub에 push 하기

- Dockerfile의 COPY 경로를 찾지 못해, 일단 docker/build-push-action@v3를 사용하지 않음

* update: 워크플로우 적용 브랜치를 **에서 main로 변경

* [#12] restdocs-swagger 변환 설정 추가 (#41)

* add: restdocs-swagger gradle 설정 추가

- restdocs-api-spec 설정 추가
- openapi3 설정 추가
- swaggerUI 설정 추기
- asciidoctor 설정 삭제

* add: restdocs mockmvc 자바 설정 파일 추가

- restdocs-api-spec의 MockMvcRestDocumentationWrapper 사용

* [#9] User 각 레이어 단위 테스트 (#43)

* update: init.sql 변경

* update: testUtils

* test: UserService Test

* test: UserRepositoryTest

* test: UserControllerTest

* fix: 테스트 실패 해결

* [#32] OAuth 로그인 기능 구현 (#42)

* feat: OAuthService 구현

* feat: OAuthProvider 구현

* feat: OAuthAuthenticationSuccessHandler 구현

* feat: JpaAuditing 기능으로 CreateBy 자동 주입 하기

* add: OAuth2-Client 의존성 추가

* config: SecurityConfig OAuth2Login 설정

* refactor: User DTO안에 record에서 @builder 적용

* add: 시큐리티 어플리케이션 설정 추가

* refactor: 깃허브 시크릿 키 사용

* refactor: JPA auditing 설정 변경

* [#18] github action으로 aws에 배포하고 실행하기 (#45)

* update: gradle-build 파일 수정

* add: AWS에 배포 자동화하는 코드 추가

* fix: action 문법 오류 수정

* update: action 이름을 docker-push에서 docker-push-and-aws-run으로 변경

- 살행 분기도 main으로 수정

* update: 테스트를 위해 조건 분기를 dev로 수정

* update: 변수명 및 설명을 명확하게 수정

* update: 빌드도 변수명 업데이트 적용

* [#19] 게시물 CRUD 및 테스트 (#49)

* update: v1 init 내용 변경

- serise_id NOT NULL -> NULL 허용

* refactor: Post entity

- PK id 값 Auto -> IDENTITY 변경
- BaseEntity 상속
- fetch EAGER -> LAZY
- UpdateRequest dto change 메서드
- Message 상수 처리

* add: Post Controller, Service, Repository

- Spring Data Jpa

* add: PostRequest Dto Validation

* add: PostResponse Dto

* add: UserResponse Dto

* add: PostServiceTest, PostRepositoryTest

* add: Rest docs, Dto validation

* [#9] JWT 테스트 추가 및 응답 오류 해결 중 (#48)

* fix: 프로필 조회 API 요청 URI 변경

* update: 컨트롤러 테스트에서 RestDocs -> Swagger 변환 라이브러리 적용

* update: jwt 속성 변경

* fix: token 응답하기

* test: jwt 테스트 케이스 추가

* update: 헤더 값 롤백

* update: Repository 테스트에 JPAConfig 추가

* update: Database 설정 깃허브 시크릿 키 사용

* update: Database 설정 깃허브 시크릿 키 사용 롤백 및 컨트롤러 테스트 수정

* fix: db 설정 수정 중

* fix: flyway에 스키마 설정 sql 추가

* [#20] 댓글 CRUD 구현 및 테스트 (#47)

* feat: Comment에 User 연관관계 추가

* feat: Comment Dto 추가

- CreateCommentRequest 추가

- UpdateCommentRequest 추가

* feat: CommentRepository, 유저 조인 조회 기능 추가

- joinUserByCommentId 기능 추가

* feat: CommentService, 댓글 저장, 댓글 수정 기능 추가

- 댓글 저장

- 댓글 수정

* feat: CommentController 댓글 저장, 수정 api 추가

- 댓글 저장 api

- 댓글 수정 api

* refactor: 전역 예외 컨트롤러, 메시지 MessageUtil로 파싱 리팩터링

* update: 예외 메시지 프로퍼티 추가 수정

* refactor: 클라이언트 요청 로깅 필터 JSONException 제외

* refactor: 댓글 컨트롤러 응답 타입 리팩터링

* test: 댓글 엔티티, 레포지터리, 서비스, 컨트롤러 테스트

- Comment Entity 테스트
- CommentRepository 테스트
  - 회원 조인 쿼리 테슻트
- CommentService 테스트
- CommentController 테스트

* feat: 게시글 레포지터리 추가

- 게시글 엔티티 수정

- 게시글 레포지터리 추가

* feat: User, Comment 연관관계 추가

- 이메일 확인 기능 추가

* test: 테스트 내용 수정

- PostTest

- UserControllerTest

- UserRepositoryTest

* [#46] db 설정을 외부에서 설정할 수 있도록 환경 변수로 분리하기 (#51)

* add: docker 실행 시, env를 외부 입력할 수 있도록 수정

- action 실행 분기 수정, 너무 불필요하게 많이 실행되는 것 같아서 push 시에만 실행되도록 반영
- 배포 워크플로우, build 전에 env 파일 만들어야 빌드 가능해서 생성하는 코드 추가

* update: 문법 수정

* update: profile 설정

* update: application-db 수정

* update: 배포 분기 ** 에서 main으로 변경

* [#44] fix: Security yml 파일 설정, 메시지 소스 yml 설정 업데이트 (#52)

* fix: Security yml 파일 설정, 메시지 소스 yml 설정 업데이트

* fix: db 설정 변경

* fix: .env 추가

Co-authored-by: ChoiEunbi <[email protected]>
Co-authored-by: hyunseo <[email protected]>
Co-authored-by: hyunseo <[email protected]>
Co-authored-by: Fortune00 <[email protected]>
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.

db 설정을 외부에서 설정할 수 있도록 환경 변수로 분리하기
3 participants