순간적인

순간적인는 GitLab Runner가 클라우드 제공자의 인스턴스 그룹에 대해 플러그인 기반의 추상화를 제공하는 데 사용하는 라이브러리입니다.

다음 실행기는 러너를 확장하기 위해 순간적인 기능을 사용합니다:

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

클라우드 제공자 릴리스 상태 비고
Google Cloud 일반적으로 사용 가능 Google Cloud 인스턴스 그룹을 사용합니다.
AWS 일반적으로 사용 가능 AWS Auto Scaling 그룹을 사용합니다.
Azure 일반적으로 사용 가능 Azure 가상 머신 규모 집합을 사용합니다.

순간적인 기능을 구성하려면 config.toml에서 [runners.autoscaler] 구성 섹션을 사용합니다.

순간적인 플러그인 설치

순간적인 플러그인을 설치하려면 다음 중 하나를 사용하십시오:

  • OCI 레지스트리 배포(권장)
  • 수동 바이너리 설치

OCI 레지스트리 배포로 설치

플러그인은 UNIX 시스템에서 ~/.config/fleeting/plugins, Windows에서는 %APPDATA%/fleeting/plugins에 설치됩니다. 플러그인이 설치될 위치를 변경하려면 환경 변수 FLEETING_PLUGIN_PATH를 업데이트하십시오.

순간적인 플러그인을 설치하려면:

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

    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 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 최신 버전.
<MAJOR> 주요 버전을 선택합니다. 예를 들어, 11.*.*와 일치하는 버전을 선택합니다.
<MAJOR>.<MINOR> 주요 및 부 버전을 선택합니다. 예를 들어, 1.51.5.*와 일치하는 최신 버전을 선택합니다.
<MAJOR>.<MINOR>.<PATCH> 주요 및 부 버전과 패치를 선택합니다. 예를 들어, 1.5.11.5.1 버전을 선택합니다.

바이너리 수동 설치

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

  1. 시스템에 맞는 플리팅 플러그인 바이너리를 다운로드합니다:
  2. 바이너리의 이름이 fleeting-plugin-<name> 형식인지 확인합니다. 예: fleeting-plugin-aws.
  3. 바이너리를 $PATH에서 발견할 수 있도록 합니다. 예를 들어, /usr/local/bin으로 이동합니다.
  4. config.toml[runners.autoscaler] 섹션에 플리팅 플러그인을 추가합니다. 예를 들어:

    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 하위 명령을 사용하십시오:

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