Skip to content

Conversation

@Gooraeng
Copy link
Collaborator

@Gooraeng Gooraeng commented Oct 1, 2025

제목(필수): [TYPE]: 제목 예) [FEAT]: 회원가입 기능 추가

제목 규칙 자세히 보기
  • 형식: [TYPE]: 제목
  • 제한: 50자 이내, 첫 글자 대문자, 명령문
  • TYPE: FEAT FIX REFACTOR COMMENT STYLE TEST CHORE INIT

무엇을 / 왜

  • 무엇(What)

    1. 도커 이미지 경량화를 진행하면서, CI / CD 진행 과정을 진행했습니다.
    2. 의존성 추가
    3. application.yml 수정 및 application-prod.yml 추가
    4. .env.local 및 .env.production 추가
    5. 자바 코드 수정
  • 왜(Why)

    1. 빌드 속도를 단축시키고자 했습니다.

      • CI 정상 처리 이후 Artifact 생성
      • PR 머지 시 CD에서 관련 CI run id를 추출하여, artifact 다운로드 후 빌드
      • 따라서, main으로 바로 머지 시 CD가 실패할 수 있습니다.
    2. 의존성 추가

      • redis: 세션 관리를 redis에서 진행하기 때문에 관련 의존성을 추가했습니다.
      • 운영 환경에서 데이터베이스에 ddl-auto : update는 권장되지 않습니다. 이에 수동으로 데이터베이스 버전 관리가 필요하게 되어 flyway 관련 의존성을 추가했습니다. 별도로 간단한 README를 추가했습니다.
      • actuator: CD 상에서 헬스체크가 필요한 부분이 있습니다.
    3. resource - application 설정 파일 수정

      • application.yml

        • open-in-view 옵션 비활성화를 통해 DB 커넥션을 효율적으로 사용하게 만들고자 했습니다.
        • redis 및 flyway 옵션 비활성화 목적으로 추가했습니다.
      • prod.yml

        • 개발과정에는 필요하나, 프로덕션에는 필요하지 않은 요소, 데이터베이스 커넥션 최적화 및 관리 측면, 헬스체크에 대한 부분을 고려했을 때 프로파일 추가가 필요했습니다.
    4. .env.local 및 .env.production 추가

      • local 상에서 작업하는 환경과 production 상에서 작업하는 환경 변수에 차이가 있을 수 있습니다. 이 부분을 메우고자 예시 제공 목적으로 추가했습니다.
      • local로 진행하시는 경우 해당 부분에 대한 수정을 부탁드립니다.
      • 잘 되던 테스트가 실패할 경우, .env 파일 쪽 변수에 빈 값이 있지 않은 지 확인 부탁드립니다.
      • 단, 공통적으로 공유해야 할 환경변수 추가 등이 필요하다면 .env.local.env.production 에 업데이트를 해주셔야 합니다.
    5. 위 사유들로 인해 자바 코드에 수정이 적용되었습니다.

      • security - actuator 관련 엔드포인트 통과
      • BackApplication - @EnableCaching 어노테이션 추가

어떻게(요약) — 3줄 이내

  • 의존성 추가 (redis, flyway, actuator) 및 프로파일 수정 / 추가
  • CI / CD 흐름 수정
  • 환경 변수 예시 파일 추가

영향 범위

  • API 변경
  • DB 마이그레이션
  • Breaking Change
  • 보안/권한 영향
  • 문서/가이드 업데이트 필요

체크리스트

  • 타입 라벨 부착 (FEAT/FIX/REFACTOR/COMMENT/STYLE/TEST/CHORE/INIT)
  • 로컬/CI 테스트 통과
  • 영향도 점검 완료
  • 주석/문서 반영(필요 시)

ToDo (선택)

  • 테라폼 스크립트 수정
  • 프론트 배포 확인

스크린샷/증빙(선택)

이슈 연결 (자동)

Closes #54

- CI에서 Artifact를 업로드
- PR 머지 시, 성공한 PR의 해시값으로부터 워크플로우 id를 추출
- 이를 기반으로 artifact 탐색 및 다운로드 후 빌드 시도
- 추가
(1) 세션 관리 등
* org.springframework.boot:spring-boot-starter-data-redis
* org.springframework.session:spring-session-data-redis

(2) 헬스 체크
* org.springframework.boot:spring-boot-starter-actuator

(3) 데이터베이스 마이그레이션
* org.flywaydb:flyway-core:11.11.2
* org.flywaydb:flyway-database-postgresql:11.11.2
(1) 추가
- redis, session 자동 구성 제외
- .env 파일 상의 값을 참조할 수 있도록 수정
- flyway 관련 설정 추가 (prod 에서 활성화)
- open-in-view 옵션 추가
- cookie 설정 시 domain 명시적으로 지정하도록 수정
- forward-headers-strategy 명시
- custom 링크 추가
- 개발 환경 (.env.local에서 시작)
- 운영 환경 (.env.production)
- .dockerignore 수정
Copy link
Collaborator

@simount3 simount3 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다

Copy link
Collaborator

@johnbosco0414 johnbosco0414 left a comment

Choose a reason for hiding this comment

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

고생하셨습니다!

Copy link
Collaborator

@lcs9317 lcs9317 left a comment

Choose a reason for hiding this comment

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

좋습니다 고생하셨습니다

@Gooraeng Gooraeng merged commit ad1c983 into main Oct 1, 2025
3 checks passed
@Gooraeng Gooraeng deleted the refactor/optimize-infra-1 branch October 1, 2025 05:20
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[FEAT]: 프로덕션 프로파일 추가 등

5 participants