GitLab 호스팅 러너
GitLab 호스팅 러너를 사용하여 애플리케이션을 다양한 환경에서 신속하게 빌드, 테스트 및 배포할 수 있습니다.
GitLab.com용 호스팅 러너
이러한 러너는 GitLab.com과 완전히 통합되어 있으며 모든 프로젝트에 대해 기본적으로 활성화되어 있으며 구성이 필요하지 않습니다. 작업을 다음에서 실행할 수 있습니다:
GitLab.com용 호스팅 러너 작동 방식
호스팅 러너를 사용하면:
- 각 작업은 특정 작업에 전용으로 할당된 새로운 가상 머신(VM)에서 실행됩니다.
- 작업이 실행되는 가상 머신은 암호 없이
sudo
액세스 권한이 있습니다. - 작업이 실행되는 가상 머신에서는 운영 체제, 미리 설치된 소프트웨어가 포함된 이미지 및 복제된 저장소의 사본을 공유하여 사용 가능한 작업용 디스크 공간이 감소됩니다.
-
태그되지 않은 작업은
small
리눅스 x86-64 러너에서 실행됩니다.
GitLab.com용 호스팅 러너의 보안
다음 섹션에서는 GitLab Runner 빌드 환경의 보안을 강화하는 기본 레이어에 대한 개요를 제공합니다.
GitLab.com용 호스팅 러너는 다음과 같이 구성됩니다:
- 방화벽 규칙은 이행 VM에서 공용 인터넷으로의 외부 통신만 허용합니다.
- 공용 인터넷에서 이행 VM으로의 들어오는 통신은 허용되지 않습니다.
- 방화벽 규칙은 VM간 통신을 허용하지 않습니다.
- 이행 VM으로의 내부 통신은 러너 관리자만 허용합니다.
- 일회성 러너 VM은 단일 작업만 수행하고 작업 실행 후 즉시 삭제됩니다.
GitLab.com용 호스팅 러너의 아키텍처 다이어그램
다음 그래픽은 GitLab.com용 호스팅 러너의 아키텍처 다이어그램을 보여줍니다.
러너가 인증되고 작업 페이로드가 실행되는 방식에 대한 자세한 정보는 러너 실행 흐름을 참조하세요.
GitLab.com용 호스팅 러너의 작업 격리
네트워크에서 러너를 격리하는 것 외에도 각 일회성 러너 VM은 단일 작업만 수행하고 작업 실행 직후에 삭제됩니다. 다음 예에서는 프로젝트의 파이프라인에서 세 개의 작업이 실행됩니다. 각 작업은 별도의 일회성 VM에서 실행됩니다.
빌드 작업은 runner-ns46nmmj-project-43717858
에서, 테스트 작업은 f131a6a2runner-new2m-od-project-43717858
에서 실행되고, 배포 작업은 runner-tmand5m-project-43717858
에서 실행되었습니다.
작업 완료 후 GitLab은 일회성 러너 VM를 제거하는 명령을 즉시 Google Compute API에 전송합니다. Google Compute Engine 하이퍼바이저가 가상 머신 및 관련 데이터를 안전하게 삭제하는 작업을 수행합니다.
GitLab.com의 호스팅 러너의 보안에 관한 자세한 내용은 Google Cloud Infrastructure Security Design Overview whitepaper, GitLab Trust Center, 또는 GitLab Security Compliance Controls을 참조하세요.
GitLab.com용 호스팅 러너의 캐싱
호스팅 러너는 Google Cloud Storage(GCS) 버킷에 저장된 분산 캐시를 공유합니다. 지난 14일 동안 업데이트되지 않은 캐시 내용은 자동으로 삭제되며 객체 수명주기 관리 정책에 따라 수행됩니다. 업로드된 캐시 아티팩트의 최대 크기는 압축 아카이브가 된 이후 5GB입니다.
캐싱 작동 방식에 대한 자세한 내용은 GitLab.com용 호스팅 러너 아키텍처 다이어그램 및 GitLab CI/CD에서 캐싱을 참조하세요.
GitLab.com용 호스팅 러너의 가격 책정
GitLab.com의 호스팅 러너에서 실행되는 작업은 귀하의 네임스페이스에 할당된 컴퓨팅 분을 사용합니다. 이러한 러너에서 사용할 수 있는 분은 귀하의 구독 요금제에 포함된 컴퓨팅 분 또는 추가로 구매한 컴퓨팅 분에 따라 다릅니다.
기계 유형 기반의 비용 요소에 대한 자세한 내용은 비용 요소을 참조하세요.
GitLab.com용 호스팅 러너의 SLO 및 릴리스 주기
우리의 SLO 목표는 CI/CD 작업의 90%가 120초 이내에 실행되도록 하는 것입니다. 오류율은 0.5% 미만이어야 합니다.
GitLab Runner 최신 버전이 릴리스된 후 1주일 이내에 업데이트할 것을 목표로 합니다. Deprecations and removals에서 모든 GitLab Runner의 중단 및 제거 변경 사항을 찾을 수 있습니다.
GitLab 커뮤니티 기여용 호스팅 러너
GitLab에 기여하고 싶은 경우 gitlab-shared-runners-manager-X.gitlab.com
러너 플릿이 GitLab 프로젝트 및 관련 커뮤니티 포크를 위해 할당됩니다.
이러한 러너는 우리의 small
Linux x86-64 러너와 동일한 기계 유형으로 지원되며 GitLab.com의 호스팅 러너와 달리 GitLab 커뮤니티 기여용 호스팅 러너는 최대 40번 재사용됩니다.
우리는 기여를 장려하기를 원하기 때문에 이러한 러너는 무료입니다.
GitLab Dedicated의 호스팅 러너
GitLab Dedicated의 호스팅 러너는 요청 시에 생성되며 GitLab Dedicated 인스턴스와 완전히 통합됩니다. 자세한 정보는 GitLab Dedicated의 호스팅 러너를 참조하세요.
지원되는 이미지 수명주기
macOS 및 Windows의 호스팅 러너는 지원되는 이미지에서만 작업을 실행할 수 있습니다. 사용자 정의 이미지를 사용할 수 없습니다. 지원되는 이미지는 다음 수명주기를 갖습니다:
베타
새 이미지는 베타로 출시됩니다. 이를 통해 일반적으로 이용 가능해지기(GA) 전에 피드백을 수집하고 잠재적인 문제를 해결할 수 있습니다. 베타 이미지에서 실행되는 작업은 서비스 수준 계약의 적용 대상이 아닙니다. 베타 이미지를 사용하는 경우 이슈를 작성하여 피드백을 제공할 수 있습니다.
일반적으로 이용 가능 (GA)
이미지는 베타 단계를 완료하고 안정적으로 간주된 후 일반적으로 이용 가능상태로 전환됩니다. GA로 전환되기 위해 이미지는 다음 요구 사항을 충족해야 합니다:
- 모든 보고된 중요한 버그를 해결함으로써 베타 단계를 성공적으로 완료함
- 설치된 소프트웨어가 기본 OS와 호환됨
GA 이미지에서 실행되는 작업은 정의된 서비스 수준 계약의 적용 대상입니다.
사용이 중단됨
한 번에 최대 두 개의 일반적으로 이용 가능(GA) 이미지만 지원됩니다. 새 GA 이미지가 출시되면 가장 오래된 GA 이미지가 사용이 중단됩니다. 사용이 중단된 이미지는 더 이상 업데이트되지 않으며 중단 지침에 따라 3개월 후 삭제됩니다.