InfoGrab Docs

Linux의 호스팅 러너

요약

GitLab.com의 Linux 호스팅 러너는 Google Cloud Compute Engine에서 실행됩니다. 각 VM은 Google Container-Optimized OS(COS)와 docker+machine 실행기를 실행하는 최신 버전의 Docker Engine을 사용합니다.

GitLab.com의 Linux 호스팅 러너는 Google Cloud Compute Engine에서 실행됩니다. 각 잡은 완전히 격리된 임시 가상 머신(VM)을 가집니다. 기본 리전은 us-east1입니다.

각 VM은 Google Container-Optimized OS(COS)와 docker+machine 실행기를 실행하는 최신 버전의 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-small-arm64 2 8 GB 30 GB
saas-linux-medium-arm64 (Premium 및 Ultimate 전용) 4 16 GB 50 GB
saas-linux-large-arm64 (Premium 및 Ultimate 전용) 8 32 GB 100 GB
Note

Linux Arm의 호스팅 러너에서 Docker-in-Docker를 사용할 때 네트워크 연결 문제가 발생할 수 있습니다. 이 문제는 Google Cloud와 Docker의 최대 전송 단위(MTU) 값이 일치하지 않을 때 발생합니다. 이 문제를 해결하려면 클라이언트 측 Docker 구성에서 --mtu=1400을 설정합니다. 자세한 내용은 이슈 473739를 참조하세요.

컨테이너 이미지#

Linux의 러너는 docker+machine 실행기를 사용하므로 .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 "This job is untagged and runs on the default small Linux x86-64 instance"

job_medium:
  tags:
    - saas-linux-medium-amd64
  script:
    - echo "This job runs on the medium Linux x86-64 instance"

job_large:
  tags:
    - saas-linux-large-arm64
  script:
    - echo "This job runs on the large Linux Arm64 instance"

Linux의 호스팅 러너

Tier: Free, Premium, Ultimate
Offering: GitLab.com
원문 보기
요약

GitLab.com의 Linux 호스팅 러너는 Google Cloud Compute Engine에서 실행됩니다. 각 VM은 Google Container-Optimized OS(COS)와 docker+machine 실행기를 실행하는 최신 버전의 Docker Engine을 사용합니다.

GitLab.com의 Linux 호스팅 러너는 Google Cloud Compute Engine에서 실행됩니다. 각 잡은 완전히 격리된 임시 가상 머신(VM)을 가집니다. 기본 리전은 us-east1입니다.

각 VM은 Google Container-Optimized OS(COS)와 docker+machine 실행기를 실행하는 최신 버전의 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-small-arm64 2 8 GB 30 GB
saas-linux-medium-arm64 (Premium 및 Ultimate 전용) 4 16 GB 50 GB
saas-linux-large-arm64 (Premium 및 Ultimate 전용) 8 32 GB 100 GB
Note

Linux Arm의 호스팅 러너에서 Docker-in-Docker를 사용할 때 네트워크 연결 문제가 발생할 수 있습니다. 이 문제는 Google Cloud와 Docker의 최대 전송 단위(MTU) 값이 일치하지 않을 때 발생합니다. 이 문제를 해결하려면 클라이언트 측 Docker 구성에서 --mtu=1400을 설정합니다. 자세한 내용은 이슈 473739를 참조하세요.

컨테이너 이미지#

Linux의 러너는 docker+machine 실행기를 사용하므로 .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 "This job is untagged and runs on the default small Linux x86-64 instance"

job_medium:
  tags:
    - saas-linux-medium-amd64
  script:
    - echo "This job runs on the medium Linux x86-64 instance"

job_large:
  tags:
    - saas-linux-large-arm64
  script:
    - echo "This job runs on the large Linux Arm64 instance"