Fleeting
Fleeting은 GitLab Runner가 클라우드 공급업체의 인스턴스 그룹을 위한 플러그인 기반 추상화를 제공하기 위해 사용하는 라이브러리입니다.
다음 실행자들은 fleeting을 사용하여 러너를 확장합니다:
GitLab은 현재 이러한 공식 플러그인을 유지합니다 (현재 베타 상태):
- AWS는 AWS 오토스케일링 그룹을 사용합니다.
- Google Cloud은 Google Cloud 인스턴스 그룹을 사용합니다.
- 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 플러그인을 설치하려면 다음을 수행합니다:
-
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"
-
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
| 최신 버전. |
<주 버전>
| 주 버전을 선택합니다. 예: 1 은 1.*.* 와 일치하는 버전을 선택합니다.
|
<주 버전>:<부 버전>
| 주 버전 및 부 버전을 선택합니다. 예: 1:5 는 1.5.* 와 일치하는 최신 버전을 선택합니다.
|
<주 버전>:<부 버전>:<패치>
| 주 버전, 부 버전 및 패치를 선택합니다. 예: 1:5:1 은 버전 1.5.1 을 선택합니다.
|
매뉴얼으로 바이너리 설치
매뉴얼으로 fleeting 플러그인을 설치하려면 다음을 수행하세요:
- 시스템에 맞는 fleeting 플러그인 바이너리를 다운로드합니다:
- 바이너리의 이름이
fleeting-plugin-<name>
형식인지 확인합니다. 예:fleeting-plugin-aws
. - 바이너리가
$PATH
에서 찾을 수 있는지 확인합니다. 예:/usr/bin/local
로 이동합니다. -
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
| 개인 레지스트리에 로그인합니다. |