
데이터 엔지니어의 Airflow 데이터 파이프라인 CI 테스트 개선기
두줄요약
Airflow 데이터 파이프라인 CI의 이미지 캐시, 의존성, 초기화·병렬 실행을 개선했습니다. 최대 7분 걸리던 테스트를 안정적인 3분 중반대로 약 50% 단축했습니다.
문제 상황
- 데이터 파이프라인 YAML Pull Request마다 실행되는 CI 테스트의 최대 7분 소요
- 이미지 빌드 시간 편차와 테스트 환경 초기화·순차 실행으로 인한 대기 시간
원인 분석
- CI 테스트용·배포용 이미지가 브랜치 단위 캐시를 공유하며 캐시 데이터 상호 덮어쓰기
- 이미지 푸시 이후 캐시 생성·푸시 완료까지 대기하는 불필요한 의존성
- Airflow 초기화에 1분 40초 소요, pytest·Athena 쿼리 검증의 순차 실행
해결 방법
- 브랜치·Dockerfile명·빌드 타깃 기준 이미지 캐시 분리 및 이미지 푸시 기준 의존성 변경
- airflow.db 결과물 리포지토리 관리로 초기화 제거, pytest와 Athena 쿼리 검증 병렬화
- GitHub Actions 캐시를 활용한 mypy 캐시 관리
성능/운영 포인트
- 최대 7분의 CI 테스트를 안정적인 3분 중반대로 단축해 약 50% 개선
- GitHub Actions 캐시의 10GB 용량 제한과 7일 미접근 캐시 삭제 정책 고려
- 대용량 이미지 캐시에 따른 캐시 효율 저하 가능성 점검

