본문 바로가기
Q&A해결2026년 3월 8일1분 읽기

GitHub Actions 빌드 시간 단축하는 법

풀
풀스택지훈
조회 511댓글 2
GitHub Actions로 CI/CD를 구성했는데 빌드+테스트+배포까지 15분이 걸립니다. PR마다 이렇게 기다리니 생산성이 떨어지는데, 빌드 시간을 줄이는 팁이 있을까요? 현재 워크플로우: 1. checkout 2. Node.js setup 3. npm install (매번 새로) 4. lint + type check 5. 테스트 (Jest, 200개) 6. 빌드 7. Docker 이미지 빌드 8. 배포 모노레포는 아니고 일반 Next.js 프로젝트입니다.

댓글 2

김김영삼7개월 전
가장 효과가 큰 것부터 말씀드리면:

1. **의존성 캐싱** (가장 기본)
```yaml
- uses: actions/cache@v4
with:
path: ~/.npm
key: npm-${{ hashFiles('package-lock.json') }}
```

2. **병렬 실행**: lint, type-check, test를 별도 job으로 분리해서 병렬로 돌리세요.

3. **Docker 레이어 캐싱**:
```yaml
- uses: docker/build-push-action@v5
with:
cache-from: type=gha
cache-to: type=gha,mode=max
```

4. **테스트 분할**: Jest의 `--shard` 옵션으로 테스트를 여러 job에 분산시키세요.

5. **변경 감지**: paths 필터로 관련 없는 변경에는 빌드를 스킵하세요.

이것만 적용해도 5-7분 이내로 줄어들 겁니다.
풀풀스택지훈7개월 전
캐싱이랑 병렬 실행 적용했더니 7분으로 줄었습니다! Docker 캐싱도 해봐야겠네요. 정리가 깔끔해서 바로 적용할 수 있었습니다. 감사합니다!
Ctrl+Enter로 등록