Fleetingは、以下を提供するためにGitLab Runnerが使用するライブラリです。
Fleetingは、クラウドプロバイダーのインスタンスグループのプラグインベースの抽象化を提供するために、GitLab Runnerが使用するライブラリです。
以下のexecutorは、RunnerをスケールするためにFleetingを使用します:
Fleetingプラグインを探す
GitLabは、次の公式プラグインを管理しています:
| クラウドプロバイダー | 備考 |
|---|---|
| Google Cloud | Google Cloudインスタンスグループを使用します。 |
| AWS | AWS Auto Scaling groupsを使用 |
| Azure | Azure Virtual Machine Scale Setsを使用します。Uniform orchestrationモードのみがサポートされています。 |
次のプラグインは、コミュニティによって管理されています:
| クラウドプロバイダー | OCI参照 | 備考 |
|---|---|---|
| VMware vSphere | registry.gitlab.com/santhanuv/fleeting-plugin-vmware-vsphere:latest | VMware vSphereを使用して、既存のテンプレートから複製することにより、仮想マシンを作成および管理します。govmomi vcsimシミュレーターでテストされ、基本的なユースケースに対してコミュニティメンバーによって検証されています。制限されたvSphere権限では、制限がある場合があります。Fleeting Plugin VMware vSphere projectで関連するイシューを作成できます。 |
コミュニティが管理するプラグインは、GitLab (コミュニティ) 外部のコントリビューターが所有、ビルド、ホスト、および管理しています。GitLabは、静的なコードレビューを提供するために、FleetingライブラリとAPIを所有および管理しています。必要なコンピューティング環境すべてにアクセスできないため、GitLabはコミュニティプラグインをテストできません。コミュニティメンバーは、プラグインをビルド、テスト、およびOCIリポジトリに公開し、マージリクエストを介してこのページの参照を提供する必要があります。OCI参照には、イシューのレポート先、プラグインのサポートと安定性レベル、ドキュメントの場所に関する注記を添付する必要があります。
Fleetingプラグインを設定する
Fleetingを設定するには、config.tomlで、[runners.autoscaler]設定セクションを使用します。
各プラグインのREADME.mdファイルには、インストールと設定に関する重要な情報が含まれています。
フリートプラグインをインストールする
Fleetingプラグインをインストールするには、次のいずれかを使用します:
- OCIレジストリ配布(推奨)
- 手動バイナリインストール
OCIレジストリ配布を使用してインストールする
プラグインは、UNIXシステムでは~/.config/fleeting/pluginsに、Windowsでは%APPDATA%/fleeting/pluginsにインストールされます。プラグインのインストール場所をオーバーライドするには、環境変数FLEETING_PLUGIN_PATHを更新します。
Fleetingプラグインをインストールするには:
config.tomlの[runners.autoscaler]セクションで、Fleetingプラグインを追加します:[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "aws:latest"[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "googlecloud:latest"[[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 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> | メジャーバージョンを選択します。たとえば、1は、1.*.*に一致するバージョンを選択します。 |
<MAJOR>.<MINOR> | メジャーバージョンとマイナーバージョンを選択します。たとえば、1.5は、1.5.*に一致する最新バージョンを選択します。 |
<MAJOR>.<MINOR>.<PATCH> | メジャーバージョン、マイナーバージョン、およびパッチを選択します。たとえば、1.5.1は、バージョン1.5.1を選択します。 |
バイナリを手動でインストールする
Fleetingプラグインを手動でインストールするには:
システム用のFleetingプラグインバイナリをダウンロードします:
バイナリの名前が
fleeting-plugin-<name>の形式であることを確認します。たとえばfleeting-plugin-awsなどです。バイナリが
$PATHから検出できることを確認します。たとえば、/usr/local/binに移動します。config.tomlの[runners.autoscaler]セクションで、Fleetingプラグインを追加します。次に例を示します:[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "fleeting-plugin-aws"[[runners]] name = "my runner" url = "https://gitlab.com" token = "<token>" shell = "sh" executor = "instance" [runners.autoscaler] plugin = "fleeting-plugin-googlecloud"[[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 | プライベートレジストリにサインインします。 |