GitHub Actions 러너 디스크 공간 부족 문제 해결: 불필요한 도구 제거 가이드
🤖 AI 추천
이 콘텐츠는 GitHub Actions를 사용하여 CI/CD 파이프라인을 구축하고 운영하는 모든 개발자, 특히 Docker 이미지 빌드 시 디스크 공간 부족 문제에 직면한 경험이 있는 DevOps 엔지니어 및 백엔드 개발자에게 유용합니다. CI/CD 환경의 효율성을 높이고 비용을 절감하는 데 관심 있는 미들레벨 이상의 개발자에게 특히 권장됩니다.
🔖 주요 키워드

핵심 기술: 이 글은 GitHub Actions 러너의 제한된 디스크 공간 문제를 해결하기 위한 실질적인 가이드로, 디스크 공간을 점유하는 주요 요소를 분석하고 불필요한 도구를 제거하여 빌드 효율성을 높이는 방법을 제시합니다.
기술적 세부사항:
* 문제 정의: GitHub-hosted 러너의 디스크 공간 부족으로 인한 CI/CD 파이프라인 실패.
* 디스크 사용량 분석 도구: df -h
, du -h -d1 / | sort -hr | head -n 20
, find / -type f -exec du -h {} + 2>/dev/null | sort -hr | head -n 1000
명령어를 사용하여 디스크 사용량 파악.
* 주요 공간 점유 디렉토리: /usr
(34GB - 시스템 소프트웨어 및 런타임), /opt
(11GB - CodeQL, Go 등 호스팅된 도구 캐시), /mnt
(4.1GB - 임시 마운트), /home
(1.2GB - 러너 설정, 캐시).
* 공간 많이 차지하는 특정 도구: Swift, .NET, Android SDK, CodeQL, Haskell, Rust, Node.js, Java, Browsers 등.
* 사용자 맞춤형 도구 제거 예시:
* Node.js 프로젝트: Java, .NET, Swift, Haskell, Android SDK, CodeQL 제거 권장.
* Python 스크립트: Java, .NET, Android, Browsers 제거 권장.
* 공간 확보 명령어: sudo rm -rf <경로>
를 사용하여 불필요한 SDK 및 도구 디렉토리 삭제. (예: /usr/lib/jvm
, /usr/share/dotnet
, /usr/local/lib/android
, /opt/hostedtoolcache
등)
* Docker 관련 공간 정리: docker system prune -af
, docker builder prune -af
명령어 사용.
* 디스크 사용량 로깅: actions/upload-artifact
액션을 사용하여 분석 결과 아티팩트 업로드.
개발 임팩트:
* GitHub Actions 러너의 디스크 공간 문제를 근본적으로 해결하여 CI/CD 파이프라인의 안정성 확보.
* 불필요한 도구 제거를 통해 러너의 부팅 시간 단축 및 빌드 속도 향상.
* 잠재적인 비용 절감 효과 (더 큰 러너로 업그레이드 불필요).
커뮤니티 반응:
* 글의 내용이 GitHub Actions 사용 시 디스크 공간 부족으로 어려움을 겪는 많은 개발자들에게 공감을 얻고 있으며, 제시된 해결책은 즉시 적용 가능하다는 긍정적인 반응이 예상됩니다. (본문 내 직접적인 커뮤니티 반응 언급은 없으나, 문제의 보편성을 고려할 때)
톤앤매너: 기술적이고 실용적인 조언을 제공하며, 문제 해결에 초점을 맞춘 명확하고 간결한 톤을 유지합니다.