Fleeting

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

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

GitLab은 현재 이러한 공식 플러그인을 유지합니다 (현재 베타 상태):

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

fleeting 플러그인 설치

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

  • OCI 레지스트리 배포 (권장됨)
  • 매뉴얼 바이너리 설치

OCI 레지스트리 분배 포함

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

fleeting 플러그인을 설치하려면 다음을 수행합니다:

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

    AWS
    [[runners]]
      name = "my runner"
      url = "https://gitlab.com"
      token = "<token>"
      shell = "sh"
       
    executor = "instance"
       
    [runners.autoscaler]
      plugin = "aws:latest"
    
    Google Cloud
    [[runners]]
      name = "my runner"
      url = "https://gitlab.com"
      token = "<token>"
      shell = "sh"
       
    executor = "instance"
       
    [runners.autoscaler]
      plugin = "googlecloud:latest"
    
    Azure
    [[runners]]
      name = "my runner"
      url = "https://gitlab.com"
      token = "<token>"
      shell = "sh"
       
    executor = "instance"
       
    [runners.autoscaler]
      plugin = "azure:latest"
    
  2. gitlab-runner fleeting install를 실행합니다.

plugin 형식

plugin 매개변수는 다음 형식을 지원합니다:

  • <name>
  • <name>:<version 제약>
  • <repository>/<name>
  • <repository>/<name>:<version 제약>
  • <registry>/<repository>/<name>
  • <registry>/<repository>/<name>:<version 제약>

여기서:

  • 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/bin/local로 이동합니다.
  4. config.toml[runners.autoscaler] 섹션에 fleeting 플러그인을 추가합니다. 예:

    AWS
    [[runners]]
      name = "my runner"
      url = "https://gitlab.com"
      token = "<token>"
      shell = "sh"
       
    executor = "instance"
       
    [runners.autoscaler]
      plugin = "fleeting-plugin-aws"
    
    Google Cloud
    [[runners]]
       name = "my runner"
       url = "https://gitlab.com"
       token = "<token>"
       shell = "sh"
          
       executor = "instance"
          
       [runners.autoscaler]
         plugin = "fleeting-plugin-googlecloud"
    
    Azure
    [[runners]]
       name = "my runner"
       url = "https://gitlab.com"
       token = "<token>"
       shell = "sh"
          
       executor = "instance"
          
       [runners.autoscaler]
         plugin = "fleeting-plugin-azure"
    

fleeting 플러그인 관리

다음 fleeting 하위 명령어를 사용하여 fleeting 플러그인을 관리합니다:

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