Skip to content

[Chore] CI/Testcontainers·Docker·Azure 인프라 세팅 (#7)#8

Merged
xYunaL merged 6 commits into
devfrom
chore/#7-infra
Jun 3, 2026
Merged

[Chore] CI/Testcontainers·Docker·Azure 인프라 세팅 (#7)#8
xYunaL merged 6 commits into
devfrom
chore/#7-infra

Conversation

@xYunaL
Copy link
Copy Markdown
Contributor

@xYunaL xYunaL commented Jun 3, 2026

🔗 Related Issue

📝 Summary

CI 신뢰성 확보(Testcontainers)와 배포 기반(Docker·Azure 인프라 가이드)을 구축했습니다. Spotless 포매팅을 도입하고, Spring Boot 4의 Flyway 자동설정 모듈 추가 등 배포 중 발견한 이슈를 함께 반영했습니다.

🚀 Key Changes

  • Testcontainers 도입(pgvector PostgreSQL) — @SpringBootTest contextLoads가 외부 DB 없이 통과 → ./gradlew build 정상화
  • CI 워크플로(.github/workflows/ci.yml): PR(dev/main) 시 JDK21 + spotlessCheck + build
  • Spotless(Palantir) 포매팅 도입 + 전체 코드 포맷 적용
  • Docker: 멀티스테이지 docker/Dockerfile(temurin:21) + 로컬 docker-compose.yml(pgvector)
  • Azure 인프라 가이드/스크립트(infra/): CLI 세팅 스크립트 + Portal GUI 가이드 + 수동 배포 스크립트
  • Spring Boot 4 대응: spring-boot-flyway 모듈 추가(Flyway 자동설정), 마이그레이션 CHAR(2)VARCHAR(2)(Hibernate validate 호환)

💥 Breaking Changes

  • 빌드/테스트에 Docker 필요: CI·로컬 ./gradlew build가 Testcontainers를 띄우므로 Docker 데몬 필요
  • ./gradlew buildspotlessCheck 게이트: 포맷 미준수 시 빌드 실패 → 커밋 전 ./gradlew spotlessApply 필요

✅ Test 방법

  • 로컬 Docker 실행 상태에서 ./gradlew build → 그린(Testcontainers + spotlessCheck + 전체 테스트)
  • docker compose -f docker/docker-compose.yml up -d./gradlew bootRun → 로컬 기동 확인
  • (배포) infra/ 가이드로 ACR 빌드 → ACA 배포 → /actuator/health = {"status":"UP"} 확인 완료

xYunaL added 6 commits June 2, 2026 02:00
…sting

- Add TestcontainersConfiguration with pgvector/pgvector:pg16 image
- Import Testcontainers dependencies (junit-jupiter, postgresql)
- Add spring-boot-flyway for Spring Boot 4 compatibility
- Change CHAR(2) to VARCHAR(2) in V1 migration for language_code and nationality
- Import TestcontainersConfiguration in BackendApiApplicationTests
@xYunaL xYunaL self-assigned this Jun 3, 2026
@xYunaL xYunaL added enhancement New feature or request infra labels Jun 3, 2026
@xYunaL xYunaL merged commit 8df9b26 into dev Jun 3, 2026
1 check passed
@xYunaL xYunaL deleted the chore/#7-infra branch June 3, 2026 09:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request infra

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant