
데브옵스
Python 2.7 서버의 CI Test 개선 - 13분에서 3분으로
두줄요약
Python 2.7 서버의 CI-Test 병목을 줄이기 위해 중복 실행과 불필요한 설치 단계를 제거했습니다. 캐싱과 tmpfs, 슬림 이미지 적용으로 13분이던 시간을 3분까지 단축했습니다.
문제 상황
- Python 2.7 서버의 CI-Test가 평균 13분 수준으로 전체 배포 속도의 병목
- PR 단계와 master merge 이후에 동일한 테스트가 중복 실행돼 시간 낭비 발생
- 불필요한 패키지 설치, 소스 빌드, 과도한 시스템 패키지 처리로 테스트 외 작업 비중이 큼
해결 방법
- 중복 실행 트리거를 제한해 master merge 이후의 불필요한 CI-Test 제거
- PowerShell 설치, Python 2.7 소스 빌드, 불필요한 apt upgrade와 패키지 설치 제거
- 캐시 경로를 $GITHUB_WORKSPACE로 옮기고 설치된 site-packages 자체를 캐싱하도록 전환
성능/운영 포인트
- python2.7-slim 이미지로 바이너리 빌드 시간을 대폭 단축
- MySQL 테스트에 tmpfs를 적용해 디스크 I/O 병목 완화
- 사전 빌드된 CI 전용 Docker 이미지로 추가 단축 가능성 확보
