
Github Actions의 의존성 캐싱을 통한 서버 배포속도 향상
두줄요약
GitHub Actions의 Gradle 종속성과 Docker 레이어 캐싱으로 빌드·배포 대기 시간을 줄이는 방식을 소개했습니다. Terraform으로 AWS ECS 테스트 환경을 구성하고 아티팩트 기반 CI/CD 흐름을 구현했습니다.
문제 상황
- 서버 규모와 배포 횟수 증가에 따른 느린 빌드 시간과 개발자 대기 시간 누적
- 매번 새로 구성되는 GitHub Actions 실행 환경으로 인한 로컬 캐시 미활용
구조와 흐름
- Terraform 기반 AWS ECS Fargate·ECR·ALB 테스트 환경 구성
- Java 11·Gradle 빌드 결과물을 아티팩트로 전달하고 Docker 이미지 빌드 후 ECR 푸시
- ECS 서비스에서 컨테이너 이미지 기반 배포
해결 방법
setup-java의 Gradle 캐시 설정으로 종속성 재다운로드 최소화actions/cache와 Buildx 로컬 캐시로 Docker 레이어 재사용- 커밋 SHA 기반 캐시 키와 OS 단위 복원 키 구성
성능/운영 포인트
- Build와 Deploy Job 분리 및 아티팩트 업로드·다운로드로 빌드 산출물 전달
- 새 Docker 캐시 생성 후 기존 캐시 교체로 다음 워크플로 실행에 재활용




