フリート
フリートは、クラウドプロバイダーのインスタンスグループに対して、プラグインベースの抽象化を提供する目的でRunnerが使用するライブラリです。
以下のexecutorは、Runnerをスケールするためにフリートを使用します:
フリートプラグインを検索
GitLabは、以下の公式プラグインを管理しています:
| クラウドプロバイダー | 備考 |
|---|---|
| Google Cloud | Google Cloudインスタンスグループを使用 |
| AWS | AWSオートスケールグループを使用 |
| 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権限では制限がある場合があります。フリートプラグインVMware vSphereプロジェクトで関連するイシューを作成できます。 |
コミュニティで管理されているプラグインは、GitLab(コミュニティ)外のコントリビューターが所有、構築、ホスト、および管理しています。GitLabは、フリートライブラリとAPIを所有および管理して、静的なコードレビューを提供します。GitLabは、必要なコンピューティング環境すべてにアクセスできないため、コミュニティのプラグインをテストできません。コミュニティメンバーは、OCIリポジトリにプラグインをビルド、テスト、および公開し、このページでマージリクエストを介して参照を提供する必要があります。OCI参照には、イシューのレポート先、プラグインのサポートと安定性のレベル、およびドキュメントの場所に関する注記を添付する必要があります。
フリートプラグインを構成
フリートを構成するには、config.tomlで、[runners.autoscaler]構成セクションを使用します。
README.mdファイルには、各プラグインのインストールと設定に関する重要な情報が含まれています。
フリートプラグインをインストールする
フリートプラグインをインストールするには、次のいずれかを使用します:
- OCIレジストリ配信(推奨)
- 手動バイナリインストール
OCIレジストリ配信でインストール
プラグインは、UNIXシステムでは~/.config/fleeting/pluginsに、Windowsでは%APPDATA%/fleeting/pluginsにインストールされます。プラグインのインストール場所をオーバーライドするには、環境変数FLEETING_PLUGIN_PATHを更新します。
fleetingプラグインをインストールするには、以下の手順に従います:
config.tomlの[runners.autoscaler]セクションで、フリートプラグインを追加します:[[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-plugin-<name>の形式であることを確認します。たとえば、fleeting-plugin-awsなどです。バイナリが
$PATHから検出できることを確認します。たとえば、/usr/local/binに移動します。config.tomlの[runners.autoscaler]セクションで、フリートプラグインを追加します。下記は例です:[[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サブコマンドを使用して、フリートプラグインを管理します:
| コマンド | 説明 |
|---|---|
gitlab-runner fleeting install | OCIレジストリ配信からフリートプラグインをインストールします。 |
gitlab-runner fleeting list | 参照されているプラグインと使用されているバージョンを一覧表示します。 |
gitlab-runner fleeting login | プライベートレジストリにサインインします。 |