- 이메일 확인
- 비밀번호 요구 사항
- SSH 키 제한
- SSH 호스트 키 지문
- SSH
known_hosts
항목 - 메일 구성
- 백업
- 지연된 그룹 삭제
- 지연된 프로젝트 삭제
- 비활성 프로젝트 삭제
- 대체 SSH 포트
- GitLab Pages
- GitLab 컨테이너 레지스트리
- GitLab CI/CD
- 패키지 레지스트리 제한
- 계정 및 제한 설정
- 기본 가져오기 소스
- IP 범위
- 호스트명 디렉터리
- 웹훅
- Runner SaaS
- Puma
- 리뷰어 및 담당자의 최대 수
- GitLab.com 특정 속도 제한
- GitLab.com별 특정 Gitaly RPC 동시성 제한
- GitLab.com 로깅
- 대규모 GitLab.com
- Sidekiq
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에 로그인합니다.
- 왼쪽 사이드 바에서 Help () > Help를 선택합니다.
- Help 페이지에서 현재 인스턴스 구성 확인을 선택합니다.
인스턴스 구성 페이지에서 다음과 같이 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은 Mailgun을 사용하여 mg.gitlab.com
도메인에서 이메일을 보내며, 고유의 전용 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 주소는 언제든지 변경될 수 있습니다.
Service Desk 별칭 이메일 주소
GitLab.com에서 Service Desk용으로 구성된 메일함이 있으며, 이메일 주소는 다음과 같습니다:
contact-project+%{key}@incoming.gitlab.com
. 이 메일함을 사용하려면 프로젝트 설정에서 사용자 정의 접미사를 구성하세요.
백업
GitLab.com에서 전체 프로젝트를 백업하려면 다음을 수행할 수 있습니다:
수출물을 사용할 때 내보내는 항목과 내보내지 않는 항목을 고려하세요.
GitLab은 Git 기반으로 만들어졌으므로 프로젝트의 리포지터리만 백업하기 위해 다른 컴퓨터로 복제할 수 있습니다. 마찬가지로 프로젝트 위키를 백업하기 위해 프로젝트 위키를 복제할 수도 있습니다. 2020년 8월 22일 이후 업로드된 모든 파일은 복제됩니다.
지연된 그룹 삭제
2023년 5월 8일 이후로 모든 그룹은 지연된 삭제 기능이 기본으로 활성화됩니다.
그룹은 7일의 지연 기간 이후에 영구적으로 삭제됩니다.
무료 티어를 사용 중이라면 그룹이 즉시 삭제되며 복원할 수 없습니다.
지연된 프로젝트 삭제
2023년 5월 8일 이후로 모든 그룹은 지연된 프로젝트 삭제 기능이 기본으로 활성화됩니다.
프로젝트는 7일의 지연 기간 이후에 영구적으로 삭제됩니다.
무료 티어를 사용 중이라면 프로젝트가 즉시 삭제되며 복원할 수 없습니다.
비활성 프로젝트 삭제
비활성 프로젝트 삭제는 GitLab.com에서 비활성화되어 있습니다.
대체 SSH 포트
GitLab.com은 git+ssh
를 위해 다른 SSH 포트를 사용하여 접속할 수 있습니다.
설정 | 값 |
---|---|
호스트 이름
| altssh.gitlab.com
|
포트
| 443
|
다음은 예시인 ~/.ssh/config
입니다:
호스트 gitlab.com
Hostname altssh.gitlab.com
User git
Port 443
PreferredAuthentications publickey
IdentityFile ~/.ssh/gitlab
GitLab Pages
GitLab Pages의 일부 설정은 Self-managed 인스턴스의 기본 값과 다릅니다:
설정 | GitLab.com |
---|---|
도메인 이름 | gitlab.io
|
IP 주소 | 35.185.44.232
|
사용자 정의 도메인 지원 | 예 |
TLS 인증서 지원 | 예 |
최대 사이트 크기 | 1 GB |
GitLab Pages 웹사이트 당 사용자 정의 도메인 수 | 150 |
사이트의 최대 크기는 GitLab CI/CD의 최대 artifact 크기에 따라 달라집니다.
비율 제한은 GitLab Pages에도 존재합니다.
GitLab 컨테이너 레지스트리
설정 | 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 | 기본값 (Self-managed) |
---|---|---|
artifact 최대 크기 (압축) | 1 GB | 최대 artifact 크기 참조 |
artifact 만료 시간 | 2020년 6월 22일부터, 지정하지 않은 경우 30일 후에 삭제됨 (해당 날짜 이전에 만들어진 artifact는 만료되지 않음). | 기본 artifact 만료 시간 참조 |
예약된 파이프라인 Cron | */5 * * * *
| 파이프라인 스케줄 고급 구성 참조 |
활성 파이프라인의 최대 작업수 | 무료 티어: 500 , 모든 체험 티어: 1000 , Premium: 20000 , Ultimate: 100000
| 활성 파이프라인의 작업수 참조 |
프로젝트 당 최대 CI/CD 구독 수 | 2
| 프로젝트당 CI/CD 구독 수 참조 |
프로젝트당 파이프라인 트리거의 최대 수 | 무료 및 체험 티어: 25000 , 유료 티어: 무제한
| 파이프라인 트리거 수 제한 참조 |
프로젝트당 파이프라인 스케줄의 최대 수 | 무료 티어: 10 , 유료 티어: 50
| 파이프라인 스케줄 수 참조 |
스케줄 당 만들어지는 파이프라인 최대 수 | 무료 티어: 24 , 유료 티어: 288
| 하루에 파이프라인 스케줄으로 생성되는 파이프라인 수 제한 참조 |
각 보안 정책 프로젝트에 정의된 스케줄 규칙 최대 수 | 유료 티어: 무제한 | 보안 정책 프로젝트당 스케줄 규칙 수 제한 참조 |
예약된 작업의 보관 기간 | 2020년 6월 22일부터 3개월. 해당 날짜 이전에 만들어진 작업은 2020년 9월 22일 이후에 보관됨 | 절대로 안됨. |
단위 테스트 보고서 당 최대 테스트 케이스 수 | 500000
| 무제한. |
등록된 러너의 최대 수 | 무료 티어: 50 (그룹 당) / 50 (프로젝트 당)유료 티어: 1000 (그룹 당) / 1000 (프로젝트 당)
| 범위 당 등록된 러너 수 참조 |
dotenv 변수 제한 | 무료 티어: 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은 다음과 같은 계정 제한을 사용합니다. 설정이 명시되어 있지 않은 경우에는, 기본 값이 Self-managed 인스턴스와 동일합니다:
설정 | GitLab.com 기본값 |
---|---|
LFS를 포함한 리포지터리 크기 제한 | 10 GB |
최대 가져오기 크기 | 5 GiB |
최대 내보내기 크기 | 40 GiB |
[외부 객체 리포지터리에서 가져오기의 최대 원격 파일 크기](../../administration/settings/import_and_export_settings.md#maximum-remote-fil… | 10 GiB |
[직접 전송을 통한 소스 GitLab 인스턴스로부터 가져올 때의 최대 다운로드 파일 크기](../../administration/settings/import_and_export_settings.md#maxi… | 5 GiB |
최대 첨부 파일 크기 | 100 MiB |
[가져온 아카이브의 최대 압축 해제된 파일 크기](../../administration/settings/import_and_export_settings.md#maximum-decompressed-file-size-for-impo | 25 GiB |
푸시 크기 최대 제한 | 5 GiB |
리포지터리 크기 제한을 근접하거나 초과하는 경우, 다음 중 하나를 선택할 수 있습니다:
git push
및 GitLab 프로젝트 가져오기는 한 요청 당 5 GiB로 Cloudflare를 통해 제한됩니다. 파일 업로드 이외의 가져오기에는 이 한도가 적용되지 않습니다. 리포지터리 제한은 공개 및 비공개 프로젝트에 모두 적용됩니다.기본 가져오기 소스
기본 설정에 의해 사용 가능한 가져오기 소스는 사용 중인 GitLab에 따라 다릅니다.
- GitLab.com: 모든 가능한 가져오기 소스가 기본적으로 활성화됩니다.
- GitLab Self-managed: 기본적으로 가져오기 소스가 활성화되지 않으며 활성화해야 합니다.
IP 범위
GitLab.com은 웹/API에서의 트래픽을 위해 34.74.90.64/28
와 34.74.226.0/24
IP 범위를 사용합니다. 이 범위 전체가 GitLab에 할당됩니다. 웹훅이나 리포지터리 미러링으로부터의 연결은 이러한 IP에서 발생할 수 있으므로 이에 대해 허용할 수 있습니다.
GitLab.com은 Cloudflare로 프론트 엔드가 되어 있습니다. GitLab.com으로부터의 들어오는 연결의 경우, Cloudflare의 CIDR 블록을 허용해야 할 수 있습니다(IPv4 및 IPv6).
CI/CD 러너로부터의 아웃바운드 연결의 경우, 정적 IP 주소를 제공하지 않습니다.
모든 GitLab.com 인스턴스 러너는 us-east1
의 Google Cloud Platform (GCP)에 배포됩니다.
IP 기반 방화벽은 GCP의 IP 주소 범위 또는 CIDR 블록을 조회함으로써 구성할 수 있습니다.
호스트명 디렉터리
로컬 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 seats 미만 : 1,600 100-399 seats: 2,800 400 seats 이상: 4,000
|
Ultimate 및 오픈 소스 |
999 seats 미만: 6,000 1,000-4,999 seats: 9,000 5,000 seats 이상: 13,000
|
기타 제한 사항
설정 | GitLab.com 기본값 |
---|---|
웹훅 수 | 프로젝트 당 100 , 그룹 당 50 (하위 그룹 웹훅은 상위 그룹 제한에 포함되지 않음)
|
최대 페이로드 크기 | 25 MB |
타임아웃 | 10 초 |
Self-managed되는 인스턴스의 제한 사항은 다음을 참조하십시오:
Runner SaaS
Runner SaaS는 GitLab.com 호스팅 프로젝트의 CI/CD 작업을 실행하는 데 사용할 수 있는 호스팅, 안전하고 관리되는 빌드 환경입니다.
자세한 정보는 Runner SaaS를 참조하세요.
Puma
GitLab.com은 Puma 요청 시간 제한으로 기본값으로 60초를 사용합니다.
리뷰어 및 담당자의 최대 수
Merge Request은 다음 최대값을 적용합니다:
- 최대 담당자: 200
- 최대 리뷰어: 200
GitLab.com 특정 속도 제한
요청이 속도 제한을 받으면 GitLab은 429
상태 코드로 응답합니다.
클라이언트는 요청을 다시 시도하기 전에 기다려야 합니다.
또한 이 응답에는 상세한 정보 헤더도 포함되어 있습니다. 자세한 내용은 속도 제한 응답을 참조하세요.
다음 표는 GitLab.com의 속도 제한을 설명합니다:
속도 제한 | 설정 |
---|---|
보호된 경로(특정 IP 주소에 대해) | 분당 10회 요청 |
Raw 엔드포인트 트래픽 (특정 프로젝트, 커밋 및 파일 경로에 대해) | 분당 300회 요청 |
인증되지 않은 트래픽 (특정 IP 주소에서) | 분당 500회 요청 |
인증된 API 트래픽 (특정 사용자에 대해) | 분당 2,000회 요청 |
인증된 API가 아닌 HTTP 트래픽 (특정 사용자에 대해) | 분당 1,000회 요청 |
모든 트래픽 (특정 IP 주소에서) | 분당 2,000회 요청 |
이슈 생성 | 분당 200회 요청 |
노트 생성(이슈 및 Merge Request에 대해) | 분당 60회 요청 |
고급, 프로젝트 및 그룹 검색 API (특정 IP 주소에 대해) | 분당 10회 요청 |
GitLab Pages 요청 (특정 IP 주소에 대해) | 50초마다 1,000회 요청 |
GitLab Pages 요청 (특정 GitLab Pages 도메인에 대해) | 10초마다 5,000회 요청 |
GitLab Pages TLS 연결 (특정 IP 주소에 대해) | 50초마다 1,000회 요청 |
GitLab Pages TLS 연결 (특정 GitLab Pages 도메인에 대해) | 10초마다 400회 요청 |
파이프라인 생성 요청(특정 프로젝트, 사용자 및 커밋에 대해) | 분당 25회 요청 |
경고 통합 엔드포인트 요청 (특정 프로젝트에 대해) | 시간당 3,600회 요청 |
풀 미러링 간격 | 5분 |
API 요청 (/api/v4/users/:id 에 대한 특정 사용자에 대해)
| 10분마다 300회 요청 |
더 많은 세부 정보는 보호된 경로 및 raw 엔드포인트에 대한 속도 제한에 대해 확인할 수 있습니다.
GitLab은 여러 레이어에서 요청의 속도를 제한할 수 있습니다. 여기 나열된 속도 제한은 애플리케이션에서 구성됩니다. 이러한 제한은 IP 주소당 가장 제한적입니다. GitLab.com에 대한 속도 제한에 대한 자세한 정보는 개요를 참조하세요.
속도 제한 응답
속도 제한 응답에 대한 자세한 내용은 다음을 참조하세요:
보호된 경로 제한
GitLab.com은 보호된 경로에서 1분당 10회를 초과하는 POST 요청에 대해 HTTP 상태 코드 429
로 응답합니다.
보호된 경로에 포함된 경로에 대한 소스는 아래를 참조하세요. 이에는 사용자 생성, 사용자 확인, 사용자 로그인 및 비밀번호 재설정이 포함됩니다.
차단된 요청에 대한 응답 헤더 디렉터리은 사용자 및 IP 속도 제한을 참조하세요.
자세한 내용은 보호된 경로를 확인하세요.
IP 차단
한 IP 주소로부터 이상한 트래픽을 받을 경우 GitLab.com은 시스템이 잠재적으로 악의적으로 보는 단일 IP 주소로부터 이상적인 트래픽을 받으면 IP 차단이 발생할 수 있습니다. 이는 속도 제한 설정을 기반으로 합니다. 이상한 트래픽이 사그라들면 IP 주소는 해당 차단 유형에 따라 자동으로 해제됩니다.
GitLab.com의 모든 요청에 대해 403 Forbidden
오류를 받을 경우 자동화된 프로세스를 확인하세요. 도움이 필요한 경우 GitLab 지원팀에 영향받은 IP 주소 등과 함께 연락하세요.
Git 및 컨테이너 레지스트리 실패된 인증 금지
GitLab.com은 3분 동안 단일 IP 주소로부터 30회의 실패 인증 요청을 받으면 1시간 동안 HTTP 상태 코드 403
으로 응답합니다.
이는 Git 요청 및 컨테이너 레지스트리(/jwt/auth
) 요청(통합)에만 적용됩니다.
이 제한:
- 성공적으로 인증된 요청에 의해 재설정됩니다. 예를 들어, 29회의 실패 인증 요청 뒤에 성공적인 요청 1회가 앞에 오는 경우, 이후에 29회의 실패 인증 요청이 또 다시 발생해도 금지가 발생하지 않습니다.
-
gitlab-ci-token
에 의해 인증된 JWT 요청에는 적용되지 않습니다.
응답 헤더는 제공되지 않습니다.
https
를 통해 git
요청은 항상 인증되지 않은 요청을 먼저 전송하며, 이는 비공개 리포지터리의 경우에 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 클러스터로 전달하는 데 사용됩니다.
다음과 같이 저희의 runbook에서 더 많은 정보를 확인할 수 있습니다:
- 저희가 로깅하는 자세한 디렉터리
- 저희의 현재 로그 유지 정책
- 저희 로깅 인프라구조의 도표
작업 로그
기본적으로 GitLab은 작업 로그를 만료시키지 않습니다. 작업 로그는 영원히 보관되며, GitLab.com에서 만료될 수는 없습니다. 작업 로그는 작업 API를 사용하거나 파이프라인 삭제를 통해 매뉴얼으로 지울 수 있습니다.
대규모 GitLab.com
GitLab Enterprise Edition Linux 패키지 설치 외에, GitLab.com은 다음 애플리케이션과 설정을 이용하여 규모를 확보합니다. 모든 설정은 Kubernetes 구성 또는 Chef 쿡북으로 공개적으로 사용 가능합니다.
Elastic 클러스터
저희는 일부 모니터링 솔루션을 위해 Elasticsearch 및 Kibana를 사용합니다:
Fluentd
저희는 GitLab 로그를 통합하기 위해 Fluentd를 사용합니다:
Prometheus
모니터링 스택을 완성하기 위해 Prometheus를 사용합니다:
Grafana
모니터링 데이터 시각화를 위해:
Sentry
오픈 소스 오류 추적:
Consul
서비스 검색:
HAProxy
고성능 TCP/HTTP 로드 밸런서:
Sidekiq
GitLab.com은 루비 작업 스케줄링을 위해 외부 프로세스로 Sidekiq을 실행합니다.
현재 설정은 GitLab.com Kubernetes pod 구성에 있습니다.