컴퓨팅 분
GitLab.com에서의 프로젝트가 인스턴스 러너에서 작업을 실행하는 데 사용할 수있는 시간은 제한됩니다. 이 한계는 컴퓨트 할당량으로 추적됩니다. 프로젝트 러너는 컴퓨트 할당량의 대상이 아닙니다.
기본적으로, 단일 작업의 실행 시간 1분당 컴퓨트 분 1개를 사용합니다. 파이프라인의 전체 컴퓨트 사용량은 작업의 기간들의 합계를 사용하여 계산됩니다. 작업은 동시에 실행 될 수 있으므로 총 사용량은 파이프라인의 종단간 기간보다 높을 수 있습니다.
GitLab.com에서는:
- 모든 프로젝트에 대해 컴퓨트 할당량이 활성화되지만 특정 프로젝트는 컴퓨트 분을 더 느린 속도로 소비합니다..
- GitLab.com 네임스페이스의 기본 월별 컴퓨트 할당량은 라이선스 티어에 의해 결정됩니다.
- 월 별 할당량 이상의 컴퓨트 분이 필요한 경우, 추가 컴퓨트 분을 구매할 수 있습니다.
컴퓨트 할당량은 자체 관리 인스턴스에서 기본적으로 비활성화됩니다.
컴퓨트 사용량 보기
그룹 또는 개인 네임스페이스의 컴퓨트 사용량을 확인하여 컴퓨트 사용량 트렌드 및 남은 컴퓨트 분 수를 이해할 수 있습니다.
일부 경우에는 할당량 한도가 다음 레이블 중 하나로 대체됩니다.
- 무제한: 무제한 컴퓨트 할당량을 가진 네임스페이스를 위한 것입니다.
- 지원되지 않음: 활성 인스턴스 러너가 활성화되지 않은 네임스페이스를 위한 것입니다.
그룹의 사용량 할당량 리포트 보기
- GitLab 15.0에 프로젝트 당 인스턴스 러너 지속시간 표시가 도입되었습니다.
필수 조건:
- 그룹의 소유자 역할을 가져야 합니다.
그룹의 컴퓨트 사용량을 보려면:
- 왼쪽 사이드바에서 검색 또는 이동하여를 선택하고 그룹을 찾습니다. 그룹은 하위 그룹이 아니어야합니다.
- 설정 > 사용량 할당량을 선택합니다.
- 파이프라인 탭을 선택합니다.
프로젝트 목록은 현재 월에 컴퓨트 사용 또는 인스턴스 러너 사용이 있는 프로젝트 만 표시합니다. 목록에는 네임스페이스 및 하위 그룹의 모든 프로젝트가 포함되며 컴퓨트 사용량이 내림차순으로 정렬됩니다.
개인 네임스페이스의 사용법 할당량 리포트 보기
- GitLab 15.0에서 인스턴스 러너 지속시간 표시가 도입되었습니다.
개인 네임스페이스의 컴퓨트 사용량을 볼 수 있습니다.
- 왼쪽 사이드바에서 아바타를 선택합니다.
- 프로필 편집을 선택합니다.
- 왼쪽 사이드바에서 사용법 할당량을 선택합니다.
프로젝트 목록에는 현재 월에 컴퓨트 사용 또는 인스턴스 러너 사용이 있는 개인 프로젝트만 포함됩니다.
할당량 초과
GitLab.com에서는 잔여 컴퓨트 분이 다음과 같은 경우에는 네임스페이스 소유자에게 앱 내 배너가 표시되고 이메일 알림이 전송됩니다.:
- 할당량의 30% 미만
- 할당량의 5% 미만
- 완전히 사용됨(잔여 시간 없음)
월별 컴퓨트 할당량을 사용한 경우, 인스턴스 러너는 새로운 작업을 처리 중지합니다.
- 이미 시작된 파이프라인에서:
- 처리되지 않은 (아직 시작되지 않은) 보류 중인 작업이 인스턴스 러너에서 처리됩니다.
- 인스턴스 러너에서 실행 중인 작업은 전체 네임스페이스 사용량이 1,000 컴퓨트 분을 초과할 때까지 계속 실행됩니다. 1,000 분의 컴퓨트 시간 이후, 잔여 실행 중인 작업은 삭제됩니다.
GitLab.com을 사용하는 경우, 추가 컴퓨트 분 팩을 구입하여 인스턴스 러너에서 CI/CD 파이프라인을 계속 실행할 수 있습니다.
프로젝트 러너는 컴퓨트 할당량에 영향을받지 않고 작업을 계속 처리합니다.
컴퓨트 사용량 계산
GitLab은 작업의 컴퓨트 사용량을 계산하기 위해 이 공식을 사용합니다.:
작업 기간 * 비용 계수
-
작업 기간: 인스턴스 러너에서 실행된 작업의 비례 시간(초)입니다.
- 비용 계수: 프로젝트 유형에 기반한 숫자입니다.
이 값은 컴퓨트 분으로 변환되어 작업의 최상위 네임스페이스의 사용된 단위 수에 추가됩니다.
예를 들어, 사용자 alice
가 파이프라인을 실행하는 경우:
-
gitlab-org
네임스페이스의 프로젝트에서 각 작업에 사용되는 컴퓨트 분이alice
네임스페이스의 전체 소비에 추가됩니다. -
alice
네임스페이스의 개인 프로젝트에서 사용되는 컴퓨트 분은 해당 네임스페이스의 전체 소비에 추가됩니다.
한 파이프라인에서 사용되는 컴퓨트는 파이프라인에서 실행된 모든 작업에 의해 사용된 총 컴퓨트 분입니다. 작업은 동시에 실행될 수 있으므로 총 컴퓨트 사용량은 파이프라인의 종단간 기간보다 높을 수 있습니다.
트리거된 작업은 러너에서 실행되지 않으므로, 다운스트림 파이프라인 상태를 기다리기 위해 strategy:depend
를 사용하더라도 컴퓨트 분을 사용하지 않습니다. 트리거된 다운스트림 파이프라인은 다른 파이프라인과 마찬가지로 컴퓨트 분을 소비합니다.
비용 계수
GitLab.com의 인스턴스 러너에서 실행되는 작업에 대한 기본 비용 계수는 다음과 같습니다.
- 내부, 공개 및 비공개 프로젝트에 대해
1
.- 작업 실행 시간 1분당 컴퓨트 분 1을 사용합니다.
-
GitLab 오픈소스 프로그램의 공개 프로젝트에 대해
0.5
.- 작업 실행 시간 2분당 컴퓨트 분 1을 사용합니다.
-
GitLab 오픈소스 프로그램의 공개 프로젝트의 포크에 대해
0.008
.- 작업 실행 시간 125분당 컴퓨트 분 1을 사용합니다.
- GitLab 프로젝트에 대한 커뮤니티 기여에 동적으로 할인됩니다.
- 다양한 유형의 인스턴스 러너 사용시 증가합니다.
자체 관리 인스턴스의 비용 계수는 다릅니다.
GitLab 프로젝트에 대한 커뮤니티 기여
커뮤니티 기여자는 GitLab이 유지 관리하는 오픈 소스 프로젝트에 기여할 때 인스턴스 러너에서 최대 300,000분까지 사용할 수 있습니다. 300,000분의 최대 사용은 GitLab 제품의 일부인 프로젝트에 독점적으로 기여할 경우에만 가능합니다. 다른 프로젝트의 파이프라인에서 사용된 계산 분을 통해 인스턴스 러너에서 사용 가능한 총 분은 줄어듭니다. 300,000분의 사용은 모든 GitLab.com 티어에 적용됩니다.
비용 계산 요소는 다음과 같습니다:
월별 계산 할당량 / 300,000 작업 지속 분 = 비용 계수
예를 들어, 프리미엄 티어의 월별 계산 할당량이 10,000이면:
- 10,000 / 300,000 = 0.03333333333 비용 계수.
이 줄어든 비용 계수에 대해:
- 병합 요청 원본 프로젝트는
gitlab-com/www-gitlab-com
와 같은 GitLab이 유지 관리하는 프로젝트의 포크어야 합니다. - 병합 요청 대상 프로젝트는 포크의 상위 프로젝트여야 합니다.
- 파이프라인은 병합 요청, 통합된 결과 또는 병합 트레인 파이프라인이어야 합니다.
GitLab 호스팅된 러너 비용 계수
GitLab 호스팅 러너는 러너 유형(Linux, Windows, macOS)과 가상 머신 구성에 따라 다른 비용 계수가 있습니다:
GitLab 호스팅 러너 유형 | 머신 크기 | 비용 계수 |
---|---|---|
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 | medium
| 2
|
Linux Arm64 | large
| 3
|
macOS M1 | medium
|
6 (상태: Beta)
|
Windows | medium
|
1 (상태: Beta)
|
월별 계산 사용량 재설정
매 월의 첫 번째 날, 누적된 계산 사용량은 모든 네임스페이스에 대해 0
으로 재설정됩니다.
예를 들어, 월별 할당량이 10,000 계산 분인 경우:
- 4월 1일에 사용 가능한 계산 분은 10,000입니다.
- 4월에 10,000 계산 분 중 6,000을 사용합니다.
- 5월 1일에 누적된 계산 사용량이 0으로 재설정되고, 5월에 사용할 수 있는 계산 분은 10,000입니다.
지난 달의 사용 데이터는 시간이 지남에 따라 소비에 대한 역사적인 관점을 보여주기 위해 유지됩니다.
계산 할당량 사용량 줄이기
프로젝트가 계산 할당량을 너무 많이 사용하는 경우, 사용량을 줄일 수 있는 몇 가지 전략이 있습니다:
- 프로젝트 미러를 사용 중이라면 미러 업데이트를 위한 파이프라인이 비활성화되어 있는지 확인합니다.
- 예약된 파이프라인의 빈도를 줄입니다.
- 필요하지 않은 경우 파이프라인을 건너뜁니다.
- 새로운 파이프라인이 시작되면 자동으로 취소될 수 있는 중단 가능 작업을 사용합니다.
- 모든 파이프라인에서 실행될 필요가 없는 경우에는
rules
을 사용하여 필요할 때만 실행되도록 합니다. - 일부 작업에 개인 러너를 사용합니다.
- 포크에서 작업하고 상위 프로젝트에 병합 요청을 제출하는 경우, 유지자에게 상위 프로젝트에서 파이프라인 실행을 요청할 수 있습니다.
오픈 소스 프로젝트를 관리하는 경우, 이러한 개선 사항은 기여자 포크 프로젝트의 계산 할당량 사용을 줄일 수 있어 더 많은 기여를 가능하게 합니다.
더 자세한 내용은 파이프라인 효율성 가이드를 참조하세요.