Fleeting
Fleetingは、クラウドプロバイダーのインスタンスグループに対して、プラグインベースの抽象化を提供する目的で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コマンドは、リモートリポジトリで最新の一致するバージョンを見つけるために、バージョン制約を使用します。
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 | プライベートレジストリにサインインします。 |