
Python 2.7 서버의 CI Test 개선 - 13분에서 3분으로
두줄요약
Python 2.7 서비스의 중복 실행과 불필요한 설치를 제거해 CI 테스트를 13분에서 5분으로 단축했습니다. 공유 경로 기반 캐싱과 tmpfs를 적용해 최종 3분대까지 개선했습니다.
문제 상황
- Python 2.7 기반 서비스의 CI-Test 평균 13분 소요와 PR·master merge 간 중복 실행
- 실제 테스트 약 2분 외 소스 빌드·패키지 설치·디스크 I/O의 병목
해결 방법
- merge 후 테스트 트리거, PowerShell 설치, Python 소스 빌드, 전체 apt 업그레이드 제거
- Python 2.7-slim 컨테이너 적용과 필수 패키지 명시 설치
$GITHUB_WORKSPACE공유 경로 기반 APT·pip 캐시 구성 및 site-packages 결과물 캐싱- 조건부 APT 설치와 MySQL 데이터 디렉터리 tmpfs 마운트
성능/운영 포인트
- 1차 불필요 작업 제거로 13분에서 5분, 2차 캐싱 개선으로 3분대 단축
- self-hosted runner와 컨테이너 간 캐시 경로 분리 문제를 공유 워크스페이스로 해소
- requirements.txt 불변 시 패키지 설치·컴파일 단계 생략
적용해볼 점
- 다운로드 파일보다 설치 완료 결과물 캐싱 우선
- 의존성을 사전 설치한 CI 전용 Docker 이미지와 ECR 활용 검토


