GitLab 호스팅 러너
Offering: GitLab.com, GitLab Dedicated
GitLab 호스팅 러너를 사용하여 GitLab.com 및 GitLab Dedicated에서 CI/CD 작업을 실행하여 다양한 환경에서 애플리케이션을 원활하게 빌드, 테스트 및 배포할 수 있습니다.
GitLab.com을 위한 호스팅 러너
이 러너는 GitLab.com과 완전히 통합되어 있으며 모든 프로젝트에 대해 기본적으로 활성화되어 있고 구성 없이 사용할 수 있습니다.
귀하의 작업은 다음에서 실행될 수 있습니다:
GitLab.com을 위한 호스팅 러너 사용 방법
호스팅 러너를 사용하는 경우:
- 귀하의 각 작업은 특정 작업에 전념하는 새로 프로비저닝된 VM에서 실행됩니다.
- 작업이 실행되는 가상 머신은 비밀번호 없이
sudo
액세스 권한을 갖습니다. - 저장소는 운영 체제, 미리 설치된 소프트웨어가 담긴 이미지, 복제된 저장소의 사본에 의해 공유됩니다.
이는 귀하의 작업에서 사용할 수 있는 무료 디스크 공간이 줄어든다는 것을 의미합니다. -
Untagged 작업은
small
Linux 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은 CI 작업이 완료되자마자 일시적인 러너 VM을 제거하라는 명령을 Google Compute API로 즉시 전송합니다.
Google Compute Engine 하이퍼바이저는
가상 머신과 관련 데이터를 안전하게 삭제하는 작업을 맡습니다.
GitLab.com을 위한 호스팅 러너의 보안에 대한 더 많은 정보는
Google Cloud Infrastructure Security Design Overview 백서,
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의 최신 버전으로 업데이트하는 것을 목표로 하고 있습니다.
모든 GitLab Runner의 주요 변경 사항은 Deprecated and removals에서 확인할 수 있습니다.
GitLab 커뮤니티 기여를 위한 호스팅된 러너
GitLab에 기여하고 싶으신가요? 작업은 GitLab 프로젝트와 관련 커뮤니티 포크를 위해 전념한 gitlab-shared-runners-manager-X.gitlab.com
러너의 플릿에서 수집됩니다.
이 러너는 우리 small
Linux x86-64 러너와 동일한 머신 타입으로 지원됩니다.
GitLab.com의 호스팅된 러너와 달리, GitLab 커뮤니티 기여를 위한 호스팅된 러너는 최대 40번 재사용됩니다.
우리는 사람들이 기여하도록 장려하고자 하므로, 이 러너는 무료입니다.
GitLab 전용 호스팅된 러너
GitLab 전용 호스팅된 러너는 필요에 따라 생성되며 귀하의 GitLab Dedicated 인스턴스와 완전히 통합되어 있습니다.
자세한 정보는 GitLab Dedicated용 호스팅된 러너를 참조하세요.
지원되는 이미지 생애 주기
macOS 및 Windows의 호스팅된 러너는 지원되는 이미지에서만 작업을 실행할 수 있습니다. 자신만의 이미지를 가져올 수 없습니다.
지원되는 이미지는 다음과 같은 생애 주기를 가집니다.
베타
새 이미지는 베타로 릴리즈됩니다.
이는 우리가 피드백을 수집하고 일반 가용성(GA) 전에 잠재적인 문제를 해결할 수 있게 해줍니다.
베타 이미지에서 실행되는 작업은 서비스 수준 계약의 적용을 받지 않습니다.
베타 이미지를 사용하는 경우, 이슈를 생성하여 피드백을 제공할 수 있습니다.
일반 가용성 (GA)
이미지는 베타 단계를 완료하고 안정적이라고 간주된 후 일반적으로 이용 가능하게 됩니다.
GA가 되려면 이미지는 다음 요구 사항을 충족해야 합니다:
- 보고된 모든 주요 버그를 해결하여 베타 단계를 성공적으로 완료해야 합니다.
- 설치된 소프트웨어가 기본 운영 체제와의 호환성을 가져야 합니다.
GA 이미지에서 실행되는 작업은 정의된 서비스 수준 계약의 적용을 받습니다.
사용 중단
최대 두 개의 일반 제공(GA) 이미지를 동시에 지원합니다. 새로운 GA 이미지가 릴리즈되면, 가장 오래된 GA 이미지가 사용 중단됩니다. 사용 중단된 이미지는 더 이상 업데이트되지 않으며, 사용 중단 지침에 따라 3개월 후에 삭제됩니다.