Skip to content

[Chore] Docker 배포 환경 및 CI/CD 워크플로우 구축 (#15, #16)#20

Merged
whc9999 merged 2 commits into
mainfrom
chore/15-16-docker-cicd
May 10, 2026
Merged

[Chore] Docker 배포 환경 및 CI/CD 워크플로우 구축 (#15, #16)#20
whc9999 merged 2 commits into
mainfrom
chore/15-16-docker-cicd

Conversation

@whc9999
Copy link
Copy Markdown
Collaborator

@whc9999 whc9999 commented May 10, 2026

  • Spring Boot 애플리케이션 컨테이너화를 위한 Dockerfile 추가
  • 로컬 개발 환경에서 API, PostgreSQL, Redis를 함께 실행할 수 있도록 docker-compose.yml 추가
  • 운영 서버에서 GHCR 이미지를 실행할 수 있도록 docker-compose.prod.yml 추가
  • 로컬 및 운영 환경변수 예시 파일(.env.example, .env.production.example) 추가
  • GitHub Actions CI 워크플로우 추가
    • main, develop 브랜치 push 및 PR 시 Gradle 테스트 실행
    • 테스트 성공 후 Docker 이미지 빌드 검증
  • GitHub Actions CD 워크플로우 추가
    • main 브랜치 push 또는 수동 실행 시 GHCR 이미지 빌드 및 푸시
    • 배포 서버 secret이 설정된 경우 SSH 접속 후 Docker Compose로 API 재배포
  • prod 프로필의 datasource, mail, OAuth2, JWT, actuator health 설정 정리
  • 로컬 기본 datasource 설정을 Docker Compose PostgreSQL과 맞도록 조정
  • 로컬 실행 시 메일 계정 환경변수가 없어도 애플리케이션이 기동되도록 mail.from 기본값 보강
  • 배포 및 상태 확인을 위한 spring-boot-starter-actuator 의존성 추가
  • CI 환경에서 contextLoads 테스트가 안정적으로 실행되도록 test 프로필 및 H2 설정 추가
  • Docker/CI 관련 사용 방법과 필요한 GitHub Actions secrets를 README에 문서화

✨ 어떤 이유로 PR를 하셨나요?

  • feature 병합
  • 버그 수정(아래에 issue #를 남겨주세요)
  • 코드 개선
  • 코드 수정
  • 배포
  • 기타(아래에 자세한 내용 기입해주세요)

📋 세부 내용 - 왜 해당 PR이 필요한지 작업 내용을 자세하게 설명해주세요

📸 작업 화면 스크린샷

⚠️ PR하기 전에 확인해주세요

  • 로컬테스트를 진행하셨나요?
  • 머지할 브랜치를 확인하셨나요?
  • 관련 label을 선택하셨나요?

🚨 관련 이슈 번호 [#15 #16 ]

whc9999 added 2 commits May 10, 2026 16:33
- Spring Boot 애플리케이션 컨테이너화를 위한 Dockerfile 추가
- 로컬 개발 환경에서 API, PostgreSQL, Redis를 함께 실행할 수 있도록 docker-compose.yml 추가
- 운영 서버에서 GHCR 이미지를 실행할 수 있도록 docker-compose.prod.yml 추가
- 로컬 및 운영 환경변수 예시 파일(.env.example, .env.production.example) 추가
- GitHub Actions CI 워크플로우 추가
  - main, develop 브랜치 push 및 PR 시 Gradle 테스트 실행
  - 테스트 성공 후 Docker 이미지 빌드 검증
- GitHub Actions CD 워크플로우 추가
  - main 브랜치 push 또는 수동 실행 시 GHCR 이미지 빌드 및 푸시
  - 배포 서버 secret이 설정된 경우 SSH 접속 후 Docker Compose로 API 재배포
- prod 프로필의 datasource, mail, OAuth2, JWT, actuator health 설정 정리
- 배포 및 상태 확인을 위한 spring-boot-starter-actuator 의존성 추가
- CI 환경에서 contextLoads 테스트가 안정적으로 실행되도록 test 프로필 및 H2 설정 추가
- Docker/CI 관련 사용 방법과 필요한 GitHub Actions secrets를 README에 문서화
- 기본 datasource 설정을 Docker Compose PostgreSQL과 맞도록 수정
- 로컬 실행 시 DB 환경변수가 없어도 localhost PostgreSQL에 연결되도록 기본값 추가
- MAIL_USERNAME 환경변수가 없어도 mail.from placeholder 해석이 실패하지 않도록 기본값 보강
- IntelliJ 로컬 실행 시 JPA dialect 초기화 및 AsyncEmailSender bean 생성 오류 해결
@whc9999 whc9999 self-assigned this May 10, 2026
@whc9999 whc9999 merged commit 2a48962 into main May 10, 2026
2 checks passed
@shinae1023 shinae1023 deleted the chore/15-16-docker-cicd branch May 27, 2026 00:26
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant