
목차
GitHub Actions으로 CI/CD를 구축하다 보면 '무료 사용량이 어디까지지?'라는 궁금증이 생기기 마련입니다. 특히 개인 프로젝트나 소규모 팀에서는 비용에 민감할 수밖에 없죠. 자칫 잘못하면 예상치 못한 과금을 마주할 수도 있습니다.
이 글에서는 GitHub Actions의 무료 사용량 한도(실행 시간, 스토리지)를 명확히 정리하고, 숨겨진 함정인 OS별 가중치 계산법과 비용을 절약하는 최적화 팁까지 총정리합니다.
핵심 요약:
- 공개 저장소: 표준 러너 사용 시 무제한 무료
- 사설 저장소 (Free 플랜): 월 2,000분 및 스토리지 500MB 무료
- 주의: Windows는 2배, macOS는 10배의 시간이 차감됩니다.
1. 공개 저장소 vs 사설 저장소: 가장 큰 차이점
GitHub Actions의 무료 정책은 저장소(Repository)의 공개 여부에 따라 완전히 달라집니다.
- 🌍 공개(Public) 저장소: 표준 GitHub 호스팅 러너를 사용하는 경우, 실행 시간(분)과 스토리지 모두 완전히 무료이며 무제한입니다. 오픈소스 프로젝트에 매우 유리한 조건입니다.
- 🔒 사설(Private) 저장소: 사용하시는 요금제(Plan)에 따라 정해진 무료 사용량 한도가 있으며, 이를 초과하면 과금됩니다.
2. 플랜별 무료 제공량 (사설 저장소 기준)
개인 및 조직의 무료(Free) 플랜은 월 2,000분의 실행 시간과 500MB의 아티팩트(Artifact) 스토리지를 제공합니다. 이 사용량은 매월 초기화되지만, 스토리지는 누적되므로 관리가 필요합니다.
구분 | 포함 실행 시간 (월) | 포함 스토리지 |
---|---|---|
개인/조직 Free | 2,000분 | 500MB |
Team | 3,000분 | 2GB |
Enterprise Cloud | 50,000분 | 50GB |
더 자세한 플랜별 비교는 GitHub 공식 제품 페이지에서 확인하실 수 있습니다.
3. 가장 중요한 함정: OS별 분당 가중치
"10분짜리 빌드 작업을 돌렸는데 왜 100분이 차감됐지?" 하고 당황하는 경우가 많습니다. 바로 운영체제(OS)별 분당 가중치 때문입니다.
- Linux: ×1 (10분 실행 → 10분 차감)
- Windows: ×2 (10분 실행 → 20분 차감)
- macOS: ×10 (10분 실행 → 100분 차감)
특히 iOS 앱 빌드 등으로 macOS 러너를 사용하면 무료 사용량이 순식간에 소진될 수 있습니다. 프로젝트에 맞는 가장 효율적인 OS를 선택하는 것이 비용 절감의 첫걸음입니다.
💡 간단 계산식
월 소모 시간 = (Linux 실행 시간 × 1) + (Windows 실행 시간 × 2) + (macOS 실행 시간 × 10)
초과된 사용량은 이 합산된 시간을 기준으로 과금됩니다. 자세한 내용은 GitHub Actions 과금 정책 문서를 참고하세요.
4. 숨겨진 복병, 아티팩트 스토리지와 보관 기간
워크플로 실행 결과물(빌드 파일, 테스트 리포트 등)인 아티팩트와 로그는 기본적으로 90일간 보관됩니다. 이 파일들이 쌓여 무료 스토리지 한도(Free 플랜 기준 500MB)를 초과하면 추가 비용이 발생할 수 있습니다.
다행히 이 보관 기간은 조절이 가능합니다.
- 조정 가능 범위:
- 사설 저장소: 1일 ~ 400일
- 공개 저장소: 1일 ~ 90일
- 설정 위치: 저장소 또는 조직의
Settings
→Actions
→General
메뉴
보관 기간을 짧게 조절하면 스토리지 사용량을 크게 줄일 수 있습니다. 워크플로 내에서 actions/upload-artifact
액션을 사용할 때 retention-days
옵션을 통해 개별적으로 설정하는 것도 좋은 방법입니다.
(관련 공식 문서)
5. 비용 절약을 위한 워크플로 최적화 7가지 팁
무료 한도를 초과하지 않고 효율적으로 Actions를 사용하려면 다음 체크리스트를 확인해 보세요.
- Linux 러너 우선 사용: 가능한 모든 작업을 가중치가 가장 낮은 Linux 환경에서 실행하세요.
- 캐시(Cache) 적극 활용:
actions/cache
를 사용해 의존성(dependencies) 설치 시간을 줄여 전체 워크플로 실행 시간을 단축하세요. - 불필요한 워크플로 정리: 매트릭스(Matrix) 빌드에서 불필요한 조합을 제거하고, 너무 잦은 주기(schedule)로 실행되는 작업은 빈도를 낮추세요.
- 아티팩트 보관 기간 단축: 꼭 필요한 경우가 아니라면 보관 기간(TTL)을 1일~7일 정도로 짧게 설정하여 스토리지 부담을 줄이세요.
- 조건부 실행:
on: push
대신on: pull_request
를 사용하거나, 특정 브랜치, 태그, 파일 경로 변경 시에만 워크플로가 실행되도록 조건을 설정하세요. - 자가 호스팅 러너(Self-hosted Runner) 고려: 사용량이 매우 많다면, 직접 서버를 구축하여 러너로 사용하는 방법을 고려할 수 있습니다. 이 경우 GitHub Actions 실행 시간은 차감되지 않지만, 인프라 관리 비용이 발생합니다.
Larger runners
주의: GitHub이 제공하는 고사양Larger runners
는 무료 제공량 혜택을 받을 수 없으며, 공개 저장소에서도 유료로 청구되니 주의해야 합니다.
자주 묻는 질문 (FAQ)
Q. 공개 저장소는 정말 아무런 제한이 없나요?
A. 네, 표준 GitHub 호스팅 러너를 사용한다면 실행 시간과 스토리지에 대한 과금이 없습니다. 단, Larger runners
와 같은 특수 러너는 유료입니다.
Q. 사설 저장소에서 2,000분을 넘기면 바로 과금되나요?
A. 네, 초과된 사용량부터 OS별 가중치가 적용된 시간만큼 분당 요금이 청구됩니다. 계정의 Billing 설정에서 지출 한도(Spending limit)를 0으로 설정하면 초과 시 과금 대신 워크플로가 중단되도록 할 수 있습니다.
Q. 아티팩트 보관 기간은 어디서 바꾸나요?
A. 저장소의 Settings
→ Actions
→ General
페이지 하단에서 Artifact and log retention
값을 변경할 수 있습니다. 조직 전체에 적용하려면 조직 설정에서 동일한 메뉴로 접근하면 됩니다.
함께 읽으면 좋은 글
면책 조항: 본문의 정책 및 요금 정보는 변경될 수 있으므로, 항상 최신 GitHub 공식 문서를 확인하시기 바랍니다.