Fleeting

Fleeting은 GitLab Runner가 클라우드 제공 업체의 인스턴스 그룹을 위한 플러그인 기반 추상화를 제공하기 위해 사용하는 라이브러리입니다.

다음 실행자들이 fleeting을 사용하여 러너를 확장합니다:

GitLab은 다음의 공식 플러그인을 유지합니다:

클라우드 제공자 릴리스 상태 비고
Google Cloud 일반적으로 사용 가능 Google Cloud 인스턴스 그룹 사용
AWS 일반적으로 사용 가능 AWS Auto Scaling 그룹 사용
Azure 일반적으로 사용 가능 Azure 가상 머신 스케일 세트 사용

fleeting을 구성하려면 config.toml에서 [runners.autoscaler] 구성 섹션을 사용합니다.

fleeting 플러그인 설치

fleeting 플러그인을 설치하려면 다음 중 하나를 사용합니다:

  • OCI 레지스트리 배포 (권장)
  • 수동 이진 파일 설치

OCI 레지스트리 배포로 설치

  • 도입됨 GitLab Runner 16.11에서 OCI 레지스트리 배포 도입

플러그인은 UNIX 시스템의 ~/.config/fleeting/plugins 및 Windows의 %APPDATA%/fleeting/plugins에 설치됩니다. 플러그인을 설치하는 위치를 재정의하려면 환경 변수 FLEETING_PLUGIN_PATH를 업데이트하세요.

fleeting 플러그인을 설치하려면:

  1. config.toml[runners.autoscaler] 섹션에 fleeting 플러그인을 추가합니다:

    AWS
    [[runners]]
      name = "내 러너"
      url = "https://gitlab.com"
      token = "<토큰>"
      shell = "sh"
    
    executor = "인스턴스"
    
    [runners.autoscaler]
      plugin = "aws:latest"
    
    Google Cloud
    [[runners]]
      name = "내 러너"
      url = "https://gitlab.com"
      token = "<토큰>"
      shell = "sh"
    
    executor = "인스턴스"
    
    [runners.autoscaler]
      plugin = "googlecloud:latest"
    
    Azure
    [[runners]]
      name = "내 러너"
      url = "https://gitlab.com"
      token = "<토큰>"
      shell = "sh"
    
    executor = "인스턴스"
    
    [runners.autoscaler]
      plugin = "azure:latest"
    
  2. gitlab-runner fleeting install을 실행합니다.

plugin 형식

plugin 파라미터는 다음 형식을 지원합니다:

  • <name>
  • <name>:<version constraint>
  • <repository>/<name>
  • <repository>/<name>:<version constraint>
  • <registry>/<repository>/<name>
  • <registry>/<repository>/<name>:<version constraint>

여기서:

  • registry.gitlab.com이 기본 레지스트리입니다.
  • gitlab-org/fleeting/plugins이 기본 저장소입니다.
  • latest가 기본 버전입니다.

버전 제약 형식

gitlab-runner fleeting install 명령은 원격 저장소에서 가장 적합한 버전을 찾기 위해 버전 제약을 사용합니다.

GitLab Runner가 실행될 때, 버전 제약은 로컬로 설치된 가장 일치하는 버전을 찾는 데 사용됩니다.

다음 버전 제약 형식을 사용합니다:

형식 설명
latest 최신 버전
<주요 버전> 주요 버전 선택. 예: 11.*.*에 일치하는 버전을 선택합니다.
<주요 버전>.<마이너 버전> 주요 및 마이너 버전 선택. 예: 1.51.5.*에 일치하는 최신 버전을 선택합니다.
<주요 버전>.<마이너 버전>.<패치 버전> 주요 및 마이너 버전, 패치 선택. 예: 1.5.1은 버전 1.5.1을 선택합니다.

이진 파일 수동 설치

수동으로 fleeting 플러그인을 설치하려면:

  1. 시스템에 맞는 fleeting 플러그인 이진 파일을 다운로드합니다:
  2. 이진 파일이 fleeting-plugin-<name> 형식의 이름을 가졌는지 확인합니다. 예: fleeting-plugin-aws.
  3. 이진 파일이 $PATH에서 찾을 수 있는지 확인합니다. 예: 이를 /usr/local/bin로 이동합니다.
  4. config.toml[runners.autoscaler] 섹션에 fleeting 플러그인을 추가합니다. 예:

    :::탭 타이틀 AWS

    [[runners]]
      name = "내 러너"
      url = "https://gitlab.com"
      token = "<토큰>"
      shell = "sh"
    
    executor = "인스턴스"
    
    [runners.autoscaler]
      plugin = "fleeting-plugin-aws"
    
    Google Cloud
    [[runners]]
      name = "내 러너"
      url = "https://gitlab.com"
      token = "<토큰>"
      shell = "sh"
    
    executor = "인스턴스"
    
    [runners.autoscaler]
      plugin = "fleeting-plugin-googlecloud"
    
    Azure
    [[runners]]
      name = "내 러너"
      url = "https://gitlab.com"
      token = "<토큰>"
      shell = "sh"
    
    executor = "인스턴스"
    
    [runners.autoscaler]
      plugin = "fleeting-plugin-azure"
    

일시적인 플러그인 관리

다음 fleeting 서브커맨드를 사용하여 일시적인 플러그인을 관리하세요:

명령어 설명
gitlab-runner fleeting install OCI 레지스트리 배포에서 일시적인 플러그인을 설치합니다.
gitlab-runner fleeting list 참조된 플러그인 및 사용된 버전을 나열합니다.
gitlab-runner fleeting login 개인 레지스트리에 로그인합니다.