컴퓨팅 분
Offering: GitLab.com, GitLab Self-Managed, GitLab Dedicated
CI/CD 잡을 실행하는 프로젝트의 인스턴스 러너 사용량은 컴퓨팅 분으로 측정됩니다. 일부 설치 유형의 경우 네임스페이스에는 사용할 수 있는 컴퓨팅 분을 제한하는 컴퓨팅 할당량이 있습니다. 컴퓨팅 할당량은 모든 관리자 관리 인스턴스 러너에 적용될 수 있습니다:
히스토리
- GitLab 16.1에서 "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 호스팅 러너의 비용 계수#
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 (Status: Beta) |
| macOS M2 Pro | large |
12 (Status: Beta) |
| Windows | medium |
1 (Status: Beta) |
이러한 비용 계수는 GitLab.com의 호스팅 러너에 적용됩니다.
특정 할인은 프로젝트 유형에 따라 적용됩니다:
| 프로젝트 유형 | 비용 계수 | 사용된 컴퓨팅 분 |
|---|---|---|
| 표준 프로젝트 | 러너 유형 기준 | 잡 지속 시간 / 60 × 비용 계수당 1분 |
| GitLab for Open Source 프로그램의 공개 프로젝트 | 0.5 |
잡 시간 2분당 1분 |
| GitLab 오픈 소스 프로그램 프로젝트의 공개 포크 | 0.008 |
잡 시간 125분당 1분 |
| GitLab 프로젝트에 대한 커뮤니티 기여 | 동적 할인 | 다음 섹션 참조 |
GitLab 프로젝트에 대한 커뮤니티 기여#
커뮤니티 기여자는 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에게 상위 프로젝트에서 파이프라인을 실행해 달라고 요청할 수 있습니다.
오픈 소스 프로젝트를 관리하는 경우 이러한 개선 사항은 기여자 포크 프로젝트의 컴퓨팅 분 사용량도 줄여 더 많은 기여를 가능하게 합니다.
자세한 내용은 파이프라인 효율성 가이드를 참조하세요.
