컴퓨팅 분
GitLab v19.5Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
요약
CI/CD 잡을 실행하는 프로젝트의 인스턴스 러너 사용량은 컴퓨팅 분으로 측정됩니다. 일부 설치 유형의 경우 네임스페이스에는 사용할 수 있는 컴퓨팅 분을 제한하는 컴퓨팅 할당량이 있습니다. 컴퓨팅 할당량은 모든 관리자 관리 인스턴스 러너에 적용될 수 있습니다:
CI/CD 잡을 실행하는 프로젝트의 인스턴스 러너 사용량은 컴퓨팅 분으로 측정됩니다.
일부 설치 유형의 경우 네임스페이스에는 사용할 수 있는 컴퓨팅 분을 제한하는 컴퓨팅 할당량이 있습니다.
컴퓨팅 할당량은 모든 관리자 관리 인스턴스 러너에 적용될 수 있습니다:
- GitLab.com 또는 GitLab Self-Managed의 모든 인스턴스 러너
- GitLab Dedicated의 모든 자체 호스팅 인스턴스 러너
컴퓨팅 할당량은 기본적으로 비활성화되어 있지만 최상위 그룹 및 사용자 네임스페이스에 대해 활성화할 수 있습니다. GitLab.com에서는 Free 네임스페이스의 사용량을 제한하기 위해 할당량이 기본적으로 활성화됩니다. 유료 구독을 구매하면 한도가 증가합니다.
GitLab Dedicated의 GitLab 호스팅 인스턴스 러너에는 인스턴스 러너 컴퓨팅 할당량을 적용할 수 없습니다.
인스턴스 러너#
GitLab.com, GitLab Self-Managed의 인스턴스 러너 및 GitLab Dedicated의 자체 호스팅 인스턴스 러너의 경우:
- 인스턴스 러너 사용 대시보드에서 사용량을 볼 수 있습니다.
- 할당량이 활성화된 경우:
- 할당량 한도에 접근할 때 알림을 받습니다.
- 할당량을 초과하면 적용 조치가 적용됩니다.
GitLab.com의 경우:
- 기본 월별 컴퓨팅 할당량은 구독 계층에 의해 결정됩니다.
- 더 필요한 경우 추가 컴퓨팅 분을 구매할 수 있습니다.
컴퓨팅 사용량 계산#
각 잡의 컴퓨팅 분 사용량은 다음 공식을 사용하여 계산됩니다:
Job duration / 60 * Cost factor
- 잡 지속 시간:
created또는pending상태에서 소요된 시간을 제외하고 잡이 실행되는 데 걸린 시간(초). - 비용 계수: 러너 유형 및 프로젝트 유형을 기반으로 한 숫자.
값은 컴퓨팅 분으로 변환되고 잡의 최상위 네임스페이스에서 사용된 단위 수에 추가됩니다. 컴퓨팅 할당량이 활성화된 경우 이 값은 할당량과 비교하여 측정됩니다.
예를 들어 사용자 alice가 파이프라인을 실행하는 경우:
gitlab-org네임스페이스의 프로젝트에서 파이프라인의 각 잡이 사용한 컴퓨팅 분은alice네임스페이스가 아닌gitlab-org네임스페이스의 전체 사용량에 추가됩니다.alice네임스페이스의 개인 프로젝트에서 컴퓨팅 분은 해당 네임스페이스의 전체 사용량에 추가됩니다.
하나의 파이프라인이 사용하는 컴퓨팅은 파이프라인에서 실행된 모든 잡이 사용한 총 컴퓨팅 분입니다. 잡은 동시에 실행될 수 있으므로 총 컴퓨팅 사용량이 파이프라인의 엔드투엔드 지속 시간보다 높을 수 있습니다.
트리거 잡은 러너에서 실행되지 않으므로 다운스트림 파이프라인 상태를 기다리기 위해 strategy:depend를 사용하는 경우에도 컴퓨팅 분을 소비하지 않습니다.
트리거된 다운스트림 파이프라인은 다른 파이프라인과 동일하게 컴퓨팅 분을 소비합니다.
사용량은 매월 첫 번째 날에 모든 네임스페이스에 대해 0으로 초기화됩니다.
컴퓨팅 할당량이 활성화된 경우 할당량도 전체 월별 할당량으로 초기화됩니다.
GitLab.com에서는 구매한 컴퓨팅 분을
월별 할당량이 소진된 뒤에만 사용합니다. 사용하지 않은 구매 분량은 다음 달로 이월됩니다.
비용 계수#
비용 계수는 job이 컴퓨팅 분을 얼마나 빠르게 사용하는지를 정하는 배수입니다. 금전적 가격이 아닙니다. 비율은 러너 유형 및 프로젝트 설정에 따라 다릅니다.
GitLab.com 호스팅 러너의 비용 계수#
GitLab 호스팅 러너는 러너 유형(Linux, Windows, macOS) 및 가상 머신 구성에 따라 다른 비용 계수를 가집니다:
| 러너 유형 | 머신 크기 | 비용 계수 |
|---|---|---|
| Linux x86-64 (기본) | small |
1 |
| Linux x86-64 | medium |
2 |
| Linux x86-64 | large |
3 |
| Linux x86-64 | xlarge |
6 |
| Linux x86-64 | 2xlarge |
12 |
| Linux x86-64 + GPU 지원 | medium, GPU 표준 |
7 |
| Linux Arm64 | small |
1 |
| Linux Arm64 | medium |
2 |
| Linux Arm64 | large |
3 |
| macOS M1 | medium |
6 (Beta) |
| macOS M2 Pro | large |
12 (Beta) |
| Windows | medium |
1 (Beta) |
이러한 비용 계수는 GitLab.com의 호스팅 러너에 적용됩니다.
프로젝트 유형 할인#
특정 할인은 프로젝트 유형에 따라 적용됩니다:
| 프로젝트 유형 | 비용 계수 | 사용된 컴퓨팅 분 |
|---|---|---|
| 표준 프로젝트 | 러너 유형 기준 | 잡 지속 시간 / 60 × 비용 계수당 1분 |
| GitLab for Open Source 프로그램의 공개 프로젝트 | 0.5 |
잡 시간 2분당 1분 |
| GitLab for Open Source 프로그램 프로젝트의 공개 포크 | 0.008 |
잡 시간 125분당 1분 |
| 커뮤니티 기여 | 동적 할인 | 다음 섹션 참조 |
커뮤니티 기여#
커뮤니티 기여자는 GitLab이 유지 관리하는 오픈 소스 프로젝트에 기여할 때 인스턴스 러너에서 최대 300,000분을 사용할 수 있습니다. 300,000분의 최대값은 GitLab 제품의 일부인 프로젝트에만 기여하는 경우에만 가능합니다.
인스턴스 러너에서 사용 가능한 총 분은 다른 프로젝트의 파이프라인이 사용한 컴퓨팅 분만큼 줄어듭니다. 300,000분은 모든 GitLab.com 계층에 적용됩니다.
비용 계수 계산은 다음과 같습니다:
월별 컴퓨팅 할당량 / 300,000 잡 지속 시간 분 = 비용 계수
예를 들어 Premium 계층에서 월별 컴퓨팅 할당량이 10,000인 경우:
- 10,000 / 300,000 = 0.03333333333 비용 계수.
이 감소된 비용 계수의 경우:
- 머지 리퀘스트 소스 프로젝트는
gitlab-com/www-gitlab-com또는gitlab-org/gitlab과 같은 GitLab이 유지 관리하는 프로젝트의 포크여야 합니다. - 머지 리퀘스트 대상 프로젝트는 포크의 상위 프로젝트여야 합니다.
- 파이프라인은 머지 리퀘스트, 머지된 결과 또는 머지 트레인 파이프라인이어야 합니다.
컴퓨팅 분 사용량 줄이기#
컴퓨팅 할당량에 근접했거나 초과한 경우 다음 전략으로 사용량을 줄입니다.
- 프로젝트 미러를 사용하는 경우 미러 업데이트를 위한 파이프라인이 비활성화되어 있는지 확인합니다.
- 예약된 파이프라인의 빈도를 줄입니다.
- 필요하지 않을 때 파이프라인 건너뛰기.
- 새 파이프라인이 시작되면 자동으로 취소될 수 있는 interruptible 잡을 사용합니다.
- 잡이 모든 파이프라인에서 실행될 필요가 없는 경우 필요할 때만 실행되도록
rules를 사용합니다. - 일부 잡에 개인 러너 사용.
- 포크에서 작업하면서 상위 프로젝트에 머지 리퀘스트를 제출하는 경우 maintainer에게 상위 프로젝트에서 파이프라인을 실행해 달라고 요청할 수 있습니다.
오픈 소스 프로젝트를 관리하는 경우 이러한 개선 사항은 기여자 포크 프로젝트의 컴퓨팅 분 사용량도 줄여 더 많은 기여를 가능하게 합니다.
자세한 내용은 파이프라인 효율성 가이드를 참조합니다.