- 이메일 확인
- 비밀번호 요구사항
- SSH 키 제한사항
- SSH 호스트 키 지문
- SSH
known_hosts
항목 - 메일 구성
- 백업
- 지연된 그룹 삭제
- 지연된 프로젝트 삭제
- 비활성 프로젝트 삭제
- 대체 SSH 포트
- GitLab Pages
- GitLab container registry
- GitLab CI/CD
- 패키지 레지스트리 한도
- 계정 및 한도 설정
- 기본 가져오기 소스
- 가져오기 플레이스홀더 사용자 한도
- IP 범위
- 호스트 이름 목록
- 웹훅
- GitLab에서 호스팅하는 러너
- Puma
- 최대 리뷰어 및 담당자 수
- GitLab.com 전용 비율 제한
- GitLab.com 전용 Gitaly RPC 동시성 제한
- GitLab.com 로깅
- GitLab.com 대규모 사용
- 사이드킥
GitLab.com 설정
이 페이지는 GitLab.com에서 사용되는 설정에 대한 정보를 포함하고 있으며,
GitLab SaaS 고객에게 제공됩니다.
GitLab.com의 인스턴스 구성 페이지에서 이러한 설정의 일부를 확인하세요.
이메일 확인
GitLab.com에는 다음 설정이 있습니다:
-
email_confirmation_setting
설정이 Hard로 설정되어 있습니다. -
unconfirmed_users_delete_after_days
설정이 3일로 설정되어 있습니다.
비밀번호 요구사항
GitLab.com은 새로운 계정 및 비밀번호 변경에 대해 다음 요구사항을 가지고 있습니다:
- 최소 문자 길이 8자.
- 최대 문자 길이 128자.
- 모든 문자가 허용됩니다. 예를 들어,
~
,!
,@
,#
,$
,%
,^
,&
,*
,()
,
[]
,_
,+
,=
, 및-
.
SSH 키 제한사항
GitLab.com은 기본 SSH 키 제한사항을 사용합니다.
SSH 호스트 키 지문
GitLab.com에서 SSH 호스트 키 지문을 보려면 현재 인스턴스 구성으로 가세요.
- GitLab에 로그인합니다.
- 왼쪽 사이드바에서 도움말 () > 도움말을 선택합니다.
- 도움말 페이지에서 현재 인스턴스 구성을 확인하세요를 선택합니다.
인스턴스 구성에서 SSH 호스트 키 지문을 볼 수 있습니다:
알고리즘 | MD5 (사용 중단) | SHA256 |
---|---|---|
ECDSA | f1:d0:fb:46:73:7a:70:92:5a:ab:5d:ef:43:e2:1c:35 |
SHA256:HbW3g8zUjNSksFbqTiUWPWg2Bq1x8xdGUrliXFzSnUw |
ED25519 | 2e:65:6a:c8:cf:bf:b2:8b:9a:bd:6d:9f:11:5c:12:16 |
SHA256:eUXGGm1YGsMAS7vkcx6JOJdOGHPem5gQp4taiCfCLB8 |
RSA | b6:03:0e:39:97:9e:d0:e7:24:ce:a3:77:3e:01:42:09 |
SHA256:ROQFvPThGrW4RuWLoL9tq9I9zJ42fK4XywyRtbOz/EQ |
GitLab.com의 리포지토리에 처음 연결할 때, 이러한 키 중 하나가
출력에 표시됩니다.
SSH known_hosts
항목
SSH에서 수동 지문 확인을 건너뛰려면 다음을 .ssh/known_hosts
에 추가하세요:
gitlab.com ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIAfuCHKVTjquxvt6CM6tdG4SLp1Btn/nOeHHE5UOzRdf
gitlab.com ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCsj2bNKTBSpIYDEGk9KxsGh3mySTRgMtXL583qmBpzeQ+jqCMRgBqB98u3z++J1sKlXHWfM9dyhSevkMwSbhoR8XIq/U0tCNyokEi/ueaBMCvbcTHhO7FcwzY92WK4Yt0aGROY5qX2UKSeOvuP4D6TPqKF1onrSzH9bx9XUf2lEdWT/ia1NEKjunUqu1xOB/StKDHMoX4/OKyIzuS0q/T1zOATthvasJFoPrAjkohTyaDUz2LN5JoH839hViyEG82yB+MjcFV5MU3N1l1QL3cVUCh93xSaua1N85qivl+siMkPGbO5xR/En4iEY6K2XPASUEMaieWVNTRCtJ4S8H+9
gitlab.com ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBFSMqzJeV9rUzU4kWitGjeR4PWSa29SPqJ1fVkhtj3Hw9xjLVXVYrU9QlYWrOLXBpQ6KWjbjTDTdDkoohFzgbEY=
메일 구성
GitLab.com은 mg.gitlab.com
도메인에서 Mailgun을 사용하여 이메일을 발송하며,
전용 IP 주소는 다음과 같습니다:
23.253.183.236
69.72.35.190
69.72.44.107
159.135.226.146
161.38.202.219
192.237.158.143
192.237.159.239
198.61.254.136
198.61.254.160
209.61.151.122
mg.gitlab.com
의 IP 주소는 언제든지 변경될 수 있습니다.
서비스 데스크 별칭 이메일 주소
GitLab.com에는 이메일 주소가 contact-project+%{key}@incoming.gitlab.com
인 서비스 데스크를 위해 구성된 메일박스가 있습니다. 이 메일박스를 사용하려면
프로젝트 설정에서 사용자 지정 접미사를 구성하세요.
백업
GitLab.com에서 전체 프로젝트를 백업하려면 다음 두 가지 방법 중 하나로 내보낼 수 있습니다:
프로그램적으로 내보내기를 업로드할 수 있습니다.
내보내기 내용에 대해 포함된 내용과 포함되지 않은 내용을 인지하세요.
GitLab은 Git 기반이므로, 프로젝트의 리포지토리만 백업하려면 다른 컴퓨터에 클론하면 됩니다.
마찬가지로, 프로젝트의 위키를 클론하여 백업할 수 있습니다. 모든 파일은
2020년 8월 22일 이후 업로드된 파일이 클론 시 포함됩니다.
지연된 그룹 삭제
Offering: GitLab.com
2023년 5월 8일 이후, 모든 그룹은 기본적으로 지연 삭제가 활성화됩니다.
그룹은 7일 후에 영구 삭제됩니다.
무료 요금제를 사용하는 경우 여러분의 그룹은 즉시 삭제되며, 복구할 수 없습니다.
삭제 표시가 된 그룹을 보고 복구할 수 있습니다.
지연된 프로젝트 삭제
Offering: GitLab.com
2023년 5월 8일 이후, 모든 그룹은 기본적으로 지연 프로젝트 삭제가 활성화됩니다.
프로젝트는 7일 후에 영구 삭제됩니다.
무료 요금제를 사용하는 경우 여러분의 프로젝트는 즉시 삭제되며, 복구할 수 없습니다.
삭제 표시가 된 프로젝트를 보고 복구할 수 있습니다.
비활성 프로젝트 삭제
비활성 프로젝트 삭제는 GitLab.com에서 비활성화되어 있습니다.
대체 SSH 포트
GitLab.com은 git+ssh
에 대해 다른 SSH 포트를 사용하여 접근할 수 있습니다.
설정 | 값 |
---|---|
Hostname |
altssh.gitlab.com |
Port |
443 |
예제 ~/.ssh/config
는 다음과 같습니다:
Host gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
GitLab Pages
GitLab Pages에 대한 일부 설정은 자체 관리 인스턴스의 기본값와 다릅니다:
설정 | GitLab.com |
---|---|
도메인 이름 | gitlab.io |
IP 주소 | 35.185.44.232 |
사용자 정의 도메인 지원 | 예 |
TLS 인증서 지원 | 예 |
최대 사이트 크기 | 1 GB |
GitLab Pages 웹사이트당 사용자 정의 도메인 수 | 150 |
페이지 사이트의 최대 크기는 GitLab CI/CD의 최대 아티팩트 크기에 따라 다릅니다.
요금제 제한도 GitLab Pages에 존재합니다.
GitLab container registry
설정 | GitLab.com |
---|---|
도메인 이름 | registry.gitlab.com |
IP 주소 | 35.227.35.254 |
CDN 도메인 이름 | cdn.registry.gitlab-static.net |
CDN IP 주소 | 34.149.22.116 |
GitLab 컨테이너 레지스트리를 사용하려면 Docker 클라이언트가 다음에 접근할 수 있어야 합니다:
- 레지스트리 엔드포인트와 GitLab.com에 대한 인증.
- 이미지를 다운로드하기 위한 Google Cloud Storage 또는 Google Cloud Content Delivery Network.
GitLab.com은 Cloudflare 앞단에 있습니다.
GitLab.com에 대한 수신 연결을 위해 Cloudflare의 CIDR 블록을 허용해야 합니다 (IPv4 및 IPv6).
GitLab CI/CD
다음은 GitLab CI/CD에 관한 현재 설정입니다.
여기 나열되지 않은 설정이나 기능 제한은 관련 문서에 나열된 기본값을 사용합니다.
설정 | GitLab.com | 기본값 (자체 관리) |
---|---|---|
아티팩트 최대 크기 (압축됨) | 1 GB | 최대 아티팩트 크기를 참조하세요. |
아티팩트 만료 시간 | 2020년 6월 22일부터 삭제 후 30일. 특별히 명시되지 않은 경우 (해당 날짜 이전에 생성된 아티팩트는 만료 기간이 없음). | 기본 아티팩트 만료를 참조하세요. |
예약된 파이프라인 크론 | */5 * * * * |
파이프라인 일정 고급 구성를 참조하세요. |
활성 파이프라인의 최대 작업 수 | Free 티어: 500 , 모든 시험 티어: 1000 , Premium: 20000 , Ultimate: 100000 . |
활성 파이프라인의 작업 수를 참조하세요. |
프로젝트에 대한 최대 CI/CD 구독 수 | 2 |
프로젝트에 대한 CI/CD 구독 수를 참조하세요. |
프로젝트에 대한 최대 파이프라인 트리거 수 | 모든 티어에 대해 25000
|
파이프라인 트리거 수 제한를 참조하세요. |
프로젝트에서 최대 파이프라인 일정 수 | Free 티어: 10 , 모든 유료 티어: 50
|
파이프라인 일정 수를 참조하세요. |
일정당 최대 파이프라인 수 | Free 티어: 24 , 모든 유료 티어: 288
|
일정에 의해 생성된 파이프라인 수 제한를 참조하세요. |
각 보안 정책 프로젝트에 정의된 최대 일정 규칙 수 | 모든 유료 티어에 대해 무제한 | 각 보안 정책 프로젝트에 정의된 일정 규칙 수를 참조하세요. |
예약 작업 아카이빙 | 3개월 (2020년 6월 22일부터). 해당 날짜 이전에 생성된 작업은 2020년 9월 22일 이후 아카이빙됩니다. | 없습니다. |
단위 테스트 보고서에 대한 최대 테스트 케이스 수 | 500000 |
무제한입니다. |
최대 등록된 러너 | Free 티어: 50 그룹당 / 50 프로젝트당모든 유료 티어: 1000 그룹당 / 1000 프로젝트당 |
범위별 등록된 러너 수를 참조하세요. |
dotenv 변수가 제한 | Free 티어: 50 / Premium 티어: 100 / Ultimate 티어: 150
|
dotenv 변수 제한를 참조하세요. |
인증 토큰 유효 기간 (분) | 15 |
사용자 지정 값을 설정하려면, Rails 콘솔에서 ApplicationSetting.last.update(container_registry_token_expire_delay: <integer>) 를 실행합니다. <integer> 는 원하는 분 수입니다. |
최대 하위 파이프라인 트리거 속도 (주어진 프로젝트, 사용자 및 커밋에 대해) | 분당 350
|
최대 하위 파이프라인 트리거 속도를 참조하세요. |
패키지 레지스트리 한도
GitLab 패키지 레지스트리에 업로드된 패키지의 최대 파일 크기는 형식에 따라 다릅니다:
패키지 유형 | GitLab.com |
---|---|
Conan | 5 GB |
Generic | 5 GB |
Helm | 5 MB |
Maven | 5 GB |
npm | 5 GB |
NuGet | 5 GB |
PyPI | 5 GB |
Terraform | 1 GB |
계정 및 한도 설정
GitLab.com에는 다음과 같은 계정 한도가 설정되어 있습니다. 설정이 나열되어 있지 않다면, 기본값은 셀프 관리 인스턴스와 동일합니다:
설정 | GitLab.com 기본값 |
---|---|
LFS를 포함한 리포지토리 크기 | 10 GB |
최대 가져오기 크기 | 5 GiB |
최대 내보내기 크기 | 40 GiB |
외부 객체 스토리지에서 가져오기 위한 최대 원격 파일 크기 | 10 GiB |
직접 전송을 통한 소스 GitLab 인스턴스에서 가져오기 시 최대 다운로드 파일 크기 | 5 GiB |
최대 첨부 파일 크기 | 100 MiB |
가져온 아카이브에 대한 최대 압축 해제 파일 크기 | 25 GiB |
최대 푸시 크기 | 5 GiB |
저장소 크기 한도에 근접하거나 이를 초과하는 경우, 다음 중 하나를 수행할 수 있습니다:
참고:
git push
및 GitLab 프로젝트 가져오기는 요청당 5 GiB로 제한됩니다.
파일 업로드가 아닌 가져오는 것은 이 한도의 영향을 받지 않습니다.
리포지토리 한도는 공개 및 비공식 프로젝트 모두에 적용됩니다.
기본 가져오기 소스
귀하가 사용하는 GitLab에 따라 기본적으로 제공되는 가져오기 소스는 다음과 같습니다:
- GitLab.com: 모든 사용 가능한 가져오기 소스가 기본적으로 활성화되어 있습니다.
- GitLab 셀프 관리: 기본적으로 활성화된 가져오기 소스가 없으며, 활성화해야 합니다.
가져오기 플레이스홀더 사용자 한도
GitLab.com에서 가져오기 중에 생성되는 플레이스홀더 사용자의 수는 최상위 네임스페이스당 제한됩니다. 한도는 사용 중인 요금제 및 좌석 수에 따라 다릅니다.
자세한 내용은 GitLab.com의 플레이스홀더 사용자 한도 표를 참조하세요.
IP 범위
GitLab.com은 웹/API 플릿의 트래픽을 위해 IP 범위 34.74.90.64/28
및 34.74.226.0/24
을 사용합니다. 이 전체 범위는 GitLab에만 할당되어 있습니다. 웹훅 또는 저장소 미러링에서 오는 연결을 이 IP에서 기대할 수 있으며, 허용해야 합니다.
GitLab.com은 Cloudflare에 의해 프론트엔드가 구성되어 있습니다. GitLab.com으로의 수신 연결을 위해 Cloudflare의 CIDR 블록을 허용해야 할 수도 있습니다 (IPv4 및 IPv6).
CI/CD 러너에서의 아웃고잉 연결은 고정 IP 주소를 제공하지 않습니다. 대부분의 GitLab.com 인스턴스 러너는 Google Cloud의 us-east1
에 배포되며, Linux GPU 지원 및 _Linux Arm64_는 us-central1
에 호스팅됩니다. IP 기반 방화벽을 구성하려면
GCP의 IP 주소 범위 또는 CIDR 블록을 조회하시면 됩니다. MacOS 러너는 AWS에서 호스팅되며, 러너 관리자들은 Google Cloud에 호스팅됩니다. IP 기반 방화벽을 구성하려면 AWS IP 주소 범위와 Google Cloud를 모두 허용해야 합니다.
호스트 이름 목록
로컬 HTTP(S) 프록시 또는 최종 사용자 컴퓨터를 제어하는 기타 웹 차단 소프트웨어에서 허용 목록을 구성할 때 이러한 호스트 이름을 추가하세요. GitLab.com의 페이지는 이러한 호스트 이름에서 콘텐츠를 로드합니다:
gitlab.com
*.gitlab.com
*.gitlab-static.net
*.gitlab.io
*.gitlab.net
docs.gitlab.com
및 about.gitlab.com
에 제공되는 문서 및 회사 페이지는 특정 페이지 콘텐츠를 일반 공개 CDN 호스트 이름에서 직접 로드합니다.
웹훅
다음 제한 사항은 웹훅에 적용됩니다.
비율 제한
최상위 네임스페이스당 분당 웹훅을 호출할 수 있는 횟수입니다. 제한은 구독 계획 및 좌석 수에 따라 다릅니다.
계획 | GitLab.com 기본값 |
---|---|
Free | 500 |
Premium |
99 좌석 이하: 1,600 100-399 좌석: 2,800 400 좌석 이상: 4,000
|
Ultimate 및 오픈 소스 |
999 좌석 이하: 6,000 1,000-4,999 좌석: 9,000 5,000 좌석 이상: 13,000
|
기타 제한
설정 | GitLab.com 기본값 |
---|---|
웹훅 수 | 프로젝트당 100개, 그룹당 50개 (하위 그룹 웹훅은 상위 그룹 제한에 포함되지 않음) |
최대 페이로드 크기 | 25 MB |
타임아웃 | 10 초 |
다중 페이지 배포 | 100개의 추가 배포 (Premium tier), 500개의 추가 배포 (Ultimate tier) |
자체 관리 인스턴스 제한 사항은 다음을 참조하세요:
GitLab에서 호스팅하는 러너
GitLab에서 호스팅하는 러너를 사용하여 GitLab.com 및 GitLab 전용에서 CI/CD 작업을 실행하고, 다양한 환경에서 애플리케이션을 매끄럽게 빌드, 테스트 및 배포할 수 있습니다.
자세한 내용은 GitLab에서 호스팅하는 러너를 참조하세요.
Puma
GitLab.com은 Puma 요청 시간 초과에 대해 기본적으로 60초를 사용합니다.
최대 리뷰어 및 담당자 수
Merge 요청은 이러한 최대 수를 강제합니다:
- 최대 담당자: 200
- 최대 리뷰어: 200
GitLab.com 전용 비율 제한
참고:
관리자 문서의 비율 제한을 참조하세요.
요청이 비율 제한을 받을 때, GitLab은 429
상태 코드를 응답합니다. 클라이언트는 요청을 다시 시도하기 전에 기다려야 합니다. 이 응답에는 비율 제한 응답의 상세 정보가 포함된 정보 헤더도 있습니다.
다음 표는 GitLab.com의 비율 제한을 설명합니다:
비율 제한 | 설정 |
---|---|
IP 주소에 대한 보호된 경로 | 분당 10회 요청 |
프로젝트, 커밋 또는 파일 경로에 대한 원시 엔드포인트 트래픽 | 분당 300회 요청 |
IP 주소에서의 인증되지 않은 트래픽 | 분당 500회 요청 |
사용자에 대한 인증된 API 트래픽 | 분당 2,000회 요청 |
사용자에 대한 인증된 비API HTTP 트래픽 | 분당 1,000회 요청 |
IP 주소에서의 모든 트래픽 | 분당 2,000회 요청 |
문제 생성 | 분당 200회 요청 |
문제 및 병합 요청에 대한 메모 생성 | 분당 60회 요청 |
IP 주소에 대한 고급, 프로젝트 또는 그룹 검색 API | 분당 10회 요청 |
IP 주소에 대한 GitLab Pages 요청 | 50초당 1,000회 요청 |
GitLab Pages 도메인에 대한 GitLab Pages 요청 | 10초당 5,000회 요청 |
IP 주소에 대한 GitLab Pages TLS 연결 | 50초당 1,000회 요청 |
GitLab Pages 도메인에 대한 GitLab Pages TLS 연결 | 10초당 400회 요청 |
프로젝트, 사용자 또는 커밋에 대한 파이프라인 생성 요청 | 분당 25회 요청 |
프로젝트에 대한 알림 통합 엔드포인트 요청 | 시간당 3,600회 요청 |
풀 미러링 간격 | 5분 |
사용자에 대한 API 요청 ‘/api/v4/users/:id’ | 10분마다 300회 요청 |
IP 주소에 대한 GitLab 패키지 클라우드 요청 (도입됨 in GitLab 16.11) | 분당 3,000회 요청 |
GitLab 리포지토리 파일 | 분당 500회 요청 |
자세한 내용은 보호된 경로 및 원시 엔드포인트에 대한 비율 제한을 참조하세요.
GitLab은 여러 계층에서 요청을 비율 제한할 수 있습니다. 여기에 나열된 비율 제한은 애플리케이션에서 구성되어 있습니다. 이러한 제한은 IP 주소당 가장 제한적입니다. GitLab.com의 비율 제한에 대한 자세한 내용은 핸드북의 문서를 참조하세요.
응답 속도 제한
응답 속도 제한에 대한 정보는 다음을 참조하세요:
보호된 경로 제한
GitLab.com은 보호된 경로의 POST 요청이 IP 주소당 1분에 10개 요청을 초과하면 HTTP 상태 코드 429
로 응답합니다.
어떤 경로가 보호되는지는 아래 소스를 참조하세요. 여기에는 사용자 생성, 사용자 확인, 사용자 로그인 및 비밀번호 재설정이 포함됩니다.
사용자 및 IP 속도 제한에는 차단된 요청에 대한 응답 헤더 목록이 포함되어 있습니다.
자세한 내용은 보호된 경로를 참조하세요.
IP 차단
IP 차단은 GitLab.com이 시스템에서 잠재적으로 악성으로 간주하는 단일 IP 주소에서 비정상적인 트래픽을 수신할 때 발생할 수 있습니다. 이는 속도 제한 설정을 기반으로 할 수 있습니다. 비정상적인 트래픽이 중단된 후, 차단 유형에 따라 해당 IP 주소는 자동으로 해제됩니다.
GitLab.com에 대한 모든 요청에서 403 Forbidden
오류가 발생하는 경우, 차단을 유발할 수 있는 자동화 프로세스가 있는지 확인하세요. 지원이 필요하면 영향을 받는 IP 주소와 같은 세부정보를 포함하여 GitLab 지원 팀에 문의하세요.
Git 및 컨테이너 레지스트리 인증 실패 차단
GitLab.com은 단일 IP 주소에서 1분 동안 300개의 인증 실패 요청이 수신되면 15분 동안 HTTP 상태 코드 403
로 응답합니다.
이는 Git 요청 및 컨테이너 레지스트리 (/jwt/auth
) 요청에만 적용됩니다 (결합).
이 제한은:
- 성공적으로 인증된 요청에 의해 재설정됩니다. 예를 들어, 299개의 인증 실패 요청에 이어 1개의 성공적인 요청, 그리고 다시 299개의 인증 실패 요청이 이어진 경우 차단이 발생하지 않습니다.
-
gitlab-ci-token
으로 인증된 JWT 요청에는 적용되지 않습니다.
응답 헤더는 제공되지 않습니다.
git
요청은 https
를 통해 항상 먼저 인증되지 않은 요청을 보내며, 이는 개인 저장소에서 401
오류를 발생시킵니다.
그 후 git
은 사용자 이름, 비밀번호 또는 액세스 토큰(사용 가능한 경우)으로 인증된 요청을 시도합니다.
이 요청은 동시에 너무 많은 요청이 전송되면 일시적인 IP 차단으로 이어질 수 있습니다.
이 문제를 해결하려면 SSH 키를 사용하여 GitLab과 통신하세요.
페이지 매김 응답 헤더
성능상의 이유로, 쿼리가 10,000개 이상의 레코드를 반환하는 경우 GitLab은 일부 헤더를 제외합니다.
가시성 설정
프로젝트, 그룹 및 스니펫은 내부 가시성 설정이 GitLab.com에서 비활성화되어 있습니다.
SSH 최대 연결 수
GitLab.com은 MaxStartups 설정을 사용하여 최대 동시 비인증 SSH 연결 수를 정의합니다.
허용되는 최대 수의 연결이 동시에 발생하면 연결이 드롭되고 사용자는 ssh_exchange_identification
오류를 받게 됩니다.
수출 파일 업로드를 통한 그룹 및 프로젝트 가져오기
남용을 피하기 위해 다음 항목이 속도 제한됩니다:
- 프로젝트 및 그룹 가져오기.
- 파일을 사용하는 그룹 및 프로젝트 내보내기.
- 내보내기 다운로드.
자세한 정보는 다음을 참조하세요:
비구성 가능 한계
비구성 가능 한계에 대한 정보를 참조하여 구성할 수 없는 속도 제한, 따라서 GitLab.com에서도 사용됩니다.
GitLab.com 전용 Gitaly RPC 동시성 제한
각 리포지토리의 Gitaly RPC 동시성 및 대기열 제한은 git clone
과 같은 다양한 유형의 Git 작업에 대해 구성됩니다. 이러한 제한이 초과되면 클라이언트에게 fatal: remote error: GitLab is currently unable to handle this request due to load
메시지가 반환됩니다.
관리자 문서는 RPC 동시성 제한을 참조하세요.
GitLab.com 로깅
우리는 Fluentd를 사용하여 로그를 파싱합니다. Fluentd는 로그를
Stackdriver Logging 및
Cloud Pub/Sub로 보냅니다.
Stackdriver는 Google Cold Storage (GCS)에 로그를 장기적으로 저장하는 데 사용됩니다.
Cloud Pub/Sub는 pubsubbeat
를 사용하여 로그를 Elastic 클러스터로 전달하는 데 사용됩니다.
다음과 같은 우리의 실행 책(runbooks)에서 더 많은 정보를 볼 수 있습니다:
- 우리가 로깅하는 것에 대한 상세 목록
- 우리의 현재 로그 보존 정책
- 우리의 로깅 인프라(다이어그램)
작업 로그
기본적으로 GitLab은 작업 로그가 만료되지 않도록 설정되어 있습니다. 작업 로그는 무기한 보존되며, GitLab.com에서 만료되도록 구성할 수 없습니다. 작업 로그를 지우려면 작업 API를 통해 수동으로 하거나 파이프라인 삭제를 통해 가능합니다.
GitLab.com 대규모 사용
GitLab 엔터프라이즈 에디션 리눅스 패키지 설치 외에도 GitLab.com은 규모를 달성하기 위해 다음 애플리케이션과 설정을 사용합니다. 모든 설정은 Kubernetes 구성 또는 Chef 조리법으로 공개되어 있습니다.
Elastic 클러스터
우리는 모니터링 솔루션의 일환으로 Elasticsearch와 Kibana를 사용합니다:
Fluentd
우리는 GitLab 로그를 통합하기 위해 Fluentd를 사용합니다:
프로메테우스
프로메테우스는 우리의 모니터링 스택을 완성합니다:
그래파나
모니터링 데이터를 시각화하기 위해:
센트리
오픈 소스 오류 추적:
컨슐
서비스 디스커버리:
HAProxy
고성능 TCP/HTTP 로드 밸런서:
사이드킥
GitLab.com은 Sidekiq를 외부 프로세스로 실행합니다.
루비 작업 스케줄링을 위한 것입니다.
현재 설정은 GitLab.com Kubernetes 팟 구성에서 확인할 수 있습니다.