호스팅된 Linux 러너

Tier: Free, Premium, Ultimate Offering: GitLab.com

GitLab.com에서 호스팅되는 Linux 러너는 Google Cloud Compute Engine에서 실행됩니다. 각 작업은 완전히 격리된 일회용 가상 머신(VM)을 받습니다. 기본 지역은 us-east1입니다.

각 VM은 Google Container-Optimized OS (COS) 및 docker+machine executor를 실행하는 최신 버전의 Docker Engine을 사용합니다. 머신 유형 및 기본 프로세서 유형이 변경될 수 있습니다. 특정 프로세서 디자인에 최적화된 작업은 일관되지 않게 동작할 수 있습니다.

태그 없음 작업은 small Linux x86-64 러너에서 실행됩니다.

Linux - x86-64용 사용 가능한 머신 유형

GitLab은 Linux x86-64용 호스팅된 러너에 다음과 같은 머신 유형을 제공합니다.

러너 태그 vCPU 메모리 스토리지
saas-linux-small-amd64 (기본값) 2 8 GB 30 GB
saas-linux-medium-amd64 4 16 GB 50 GB
saas-linux-large-amd64 (Premium 및 Ultimate 전용) 8 32 GB 100 GB
saas-linux-xlarge-amd64 (Premium 및 Ultimate 전용) 16 64 GB 200 GB
saas-linux-2xlarge-amd64 (Premium 및 Ultimate 전용) 32 128 GB 200 GB

Linux - Arm64용 사용 가능한 머신 유형

GitLab은 Linux Arm64용 호스팅 러너에 다음과 같은 머신 유형을 제공합니다.

러너 태그 vCPU 메모리 스토리지
saas-linux-medium-arm64 (Premium 및 Ultimate 전용) 4 16 GB 50 GB
saas-linux-large-arm64 (Premium 및 Ultimate 전용) 8 32 GB 100 GB

컨테이너 이미지

Linux 러너는 docker+machine executor를 사용하므로 .gitlab-ci.yml 파일에서 image를 정의하여 원하는 컨테이너 이미지를 선택할 수 있습니다. 선택한 Docker 이미지가 기본 프로세서 아키텍처와 호환되는지 주의하십시오.

이미지가 설정되지 않은 경우 기본값은 ruby:3.1입니다.

Docker-in-Docker 지원

saas-linux-<size>-<architecture> 태그 중 하나의 러너는 Docker-in-Docker를 지원하기 위해 privileged 모드로 구성됩니다. 이러한 러너를 사용하여 독립적인 작업에서 Docker 이미지를 빌드하거나 여러 컨테이너를 실행할 수 있습니다.

gitlab-org 태그가 지정된 러너는 privileged 모드로 실행되지 않으며 Docker-in-Docker 빌드에 사용할 수 없습니다.

.gitlab-ci.yml 파일 예시

small 이외의 머신 유형을 사용하려면 작업에 tags: 키워드를 추가하십시오. 예:

job_small:
  script:
    - echo "이 작업은 태그 없이 기본 small Linux x86-64 인스턴스에서 실행됩니다"

job_medium:
  tags:
    - saas-linux-medium-amd64
  script:
    - echo "이 작업은 중간 Linux x86-64 인스턴스에서 실행됩니다"

job_large:
  tags:
    - saas-linux-large-arm64
  script:
    - echo "이 작업은 대규모 Linux Arm64 인스턴스에서 실행됩니다"