Runner SaaS
GitLab.com을 사용하여 SaaS 러너를 사용하여 CI/CD 작업을 원활하게 빌드, 테스트 및 배포할 수 있습니다. 이러한 러너는 GitLab이 호스팅하며 GitLab.com과 완전히 통합되어 있으며 모든 프로젝트에 대해 기본으로 활성화되어 있어 추가 구성이 필요하지 않습니다. 여러 환경에서 애플리케이션을 빌드, 테스트 및 배포할 수 있습니다.
머신 유형별로 적용된 비용 요소에 대한 자세한 정보는 비용 요소를 참조하십시오. 이러한 러너에서 사용할 수 있는 분당 분은 구독 요금제의 컴퓨트 유닛 단위의 최대 수에 따릅니다.
태그되지 않은 작업은 small
Linux 러너에서 자동으로 컨테이너에서 실행됩니다.
CI/CD 작업의 90%가 실행을 시작하는 데 120초 이하가 되도록 목표로 합니다. 오류율은 0.5% 미만이어야 합니다.
SaaS 러너 작동 방식
SaaS 러너를 사용할 때:
- 각 작업은 특정 작업에 특화된 새로 프로비저닝된 가상 머신(VM)에서 실행됩니다.
- VM은 작업의 지속 기간 동안에만 활성화되며 즉시 삭제됩니다. 즉, 작업이 가상 머신에 가한 모든 변경 사항은 이후 작업에서 사용할 수 없습니다.
- 작업이 실행되는 가상 머신에는
sudo
액세스 권한이 비밀번호 없이 부여됩니다. - 리포지터리는 운영 체제, 사전 설치된 소프트웨어가 포함된 이미지 및 클론된 리포지터리의 사본에 의해 공유됩니다. 이는 작업에서 사용 가능한 무료 디스크 공간이 감소됨을 의미합니다.
SaaS 러너의 릴리스 주기
GitLab Runner의 최신 버전이 릴리스된 후 1주일 이내에 업데이트할 것을 목표로 합니다.
폐지 및 삭제에서 모든 GitLab Runner의 중단 및 삭제 변경 사항을 찾을 수 있습니다.
SaaS 러너의 보안
Linux 및 Windows의 GitLab SaaS 러너는 Google Compute Platform에서 실행됩니다. Google Infrastructure Security Design Overview whitepaper에서는 Google이 기술 인프라에 보안을 설계하는 방법에 대한 개요를 제공합니다. GitLab의 Trust Center 및 GitLab 보안 규정 준수 페이지는 GitLab SaaS 러너에 적용되는 보안 및 규정 준수 통제 사항에 대한 개요를 제공합니다.
다음 섹션에서는 GitLab Runner SaaS CI 빌드 환경의 추가로 내장된 레이어에 대한 보안에 대한 개요를 제공합니다.
CI 작업 실행의 보안
매 CI 작업은 별도의 임시 러너 VM에서 호스트 및 실행됩니다. GitLab SaaS에서 두 개의 CI 작업이 동일한 VM에서 실행되지 않습니다.
이 예에서 프로젝트의 파이프라인에는 세 개의 작업이 있으므로 해당 파이프라인을 실행하는 데 사용되는 세 개의 임시 VM이 있거나 작업당 하나의 VM이 있습니다.
빌드 작업은 runner-ns46nmmj-project-43717858
, 테스트 작업은 f131a6a2runner-new2m-od-project-43717858
, 배포 작업은 runner-tmand5m-project-43717858
에서 실행되었습니다.
GitLab은 CI 작업이 완료된 직후에 임시 러너 VM을 제거하는 명령을 Google Compute API로 보냅니다. CI 작업이 완료된 가상 머신과 관련된 데이터를 안전하게 삭제하는 작업은 Google Compute Engine 하이퍼바이저가 담당합니다.
CI 작업 VM의 네트워크 보안
- 방화벽 규칙은 임시 VM에서 공개 인터넷으로의 출발 통신만 허용합니다.
- 공개 인터넷에서 임시 VM으로의 입발 통신은 허용되지 않습니다.
- 방화벽 규칙은 VM 간의 통신을 허용하지 않습니다.
- 임시 VM으로의 유일한 내부 통신은 러너 관리자로부터 허용됩니다.
지원되는 이미지 수명 주기
macOS 및 Windows의 SaaS 러너는 지원되는 이미지에서만 작업을 실행할 수 있습니다. 사용자 지정 이미지를 사용할 수 없습니다. 지원되는 이미지에는 다음과 같은 수명 주기가 있습니다:
- Beta
- 일반 사용 가능
- 폐지됨
Beta
이미지를 일반 사용 가능(GA)으로 만들기 전에 이미지에 대한 피드백을 수집하고 문제를 해결하기 위해 새 이미지가 Beta로 릴리스됩니다. Beta 이미지에서 실행되는 작업에는 서비스 수준 계약이 적용되지 않습니다. Beta 이미지를 사용하면 문제를 신고함으로써 피드백을 제공할 수 있습니다.
일반 사용 가능
일반 사용 가능(GA) 이미지는 Beta 단계를 완료하고 기본 사용을 고려한 후 릴리스됩니다. GA로 승격하기 위해 이미지는 다음 요구 사항을 충족해야 합니다:
- 모든 신고된 중요한 버그를 해결하여 Beta 단계를 성공적으로 완료함
- 설치된 소프트웨어가 기본 OS와 호환됨
GA 이미지에서 실행되는 작업은 정의된 서비스 수준 계약에 따라 적용됩니다. 시간이 지나면 이러한 이미지는 폐지됩니다.
폐지됨
동시에 최대 둘의 일반 사용 가능(GA) 이미지가 지원됩니다. 새로운 GA 이미지가 릴리스되면 가장 오래된 GA 이미지가 폐지됩니다. 폐지된 이미지는 더 이상 업데이트되지 않으며 폐지 가이드라인에 따라 3개월 후 삭제됩니다.