피드로 돌아가기
Dev.toDevOps
원문 읽기
불필요한 CI 중복 실행 제거로 빌드 비용 최대 50% 절감
Why your GitHub Actions CI is slow (and how to speed it up)
AI 요약
Context
GitHub Actions의 기본 트리거 설정 및 기본값 의존으로 인한 리소스 낭비 발생. 중복 워크플로우 실행과 캐싱 부재로 인해 빌드 시간이 불필요하게 증가하는 구조적 한계 존재.
Technical Solution
- push와 pull_request 트리거의 중복 발생 지점을 식별하여 pull_request 기반의 단일 실행 구조로 변경
- concurrency group과 cancel-in-progress 설정을 통한 구버전 워크플로우의 즉각적 중단 처리
- actions/setup-*의 cache 옵션 적용을 통한 Dependency 재설치 시간 단축 및 네트워크 I/O 최적화
- paths 필터 설정을 통해 소스 코드 변경 시에만 CI를 트리거하는 이벤트 범위 제한
- timeout-minutes 설정을 통한 무한 루프 및 좀비 프로세스의 리소스 점유 방지
- OS 및 버전별 Matrix 범위를 PR 단계와 Default Branch 단계로 분리하여 실행 횟수 최적화
실천 포인트
1. push와 pull_request가 동시에 트리거되는 중복 설정 여부 확인
2. concurrency 설정을 통한 이전 빌드 자동 취소 로직 적용
3. Dependency 캐싱 활성화 및 paths 필터를 통한 트리거 범위 제한
4. 모든 Job에 적절한 timeout-minutes 상한선 설정
5. PR 단계에서는 최소한의 Matrix로 검증하고 Full Matrix는 배포 단계로 분리