正式なドキュメントは英語版であり、この日本語訳はAI支援翻訳により作成された参考用のものです。日本語訳の一部の内容は人間によるレビューがまだ行われていないため、翻訳のタイミングにより英語版との間に差異が生じることがあります。最新かつ正確な情報については、英語版をご参照ください。

Fleeting

Fleetingは、クラウドプロバイダーのインスタンスグループに対して、プラグインベースの抽象化を提供する目的でRunnerが使用するライブラリです。

以下のexecutorは、RunnerをスケールするためにFleetingを使用します:

Fleetingプラグインを検索

GitLabは、以下の公式プラグインを管理しています:

クラウドプロバイダー備考
Google CloudGoogle Cloudインスタンスグループを使用
AWSAWS Auto Scaling groupsを使用
AzureAzure Virtual Machine Scale Setsを使用します。Uniform orchestrationモードのみがサポートされています。

以下のプラグインは、コミュニティによって管理されています:

クラウドプロバイダーOCI参照備考
VMware vSphereregistry.gitlab.com/santhanuv/fleeting-plugin-vmware-vsphere:latestVMware 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プラグインをインストールするには:

  1. 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"
  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コマンドは、リモートリポジトリで最新の一致するバージョンを見つけるために、バージョン制約を使用します。

Runnerを実行すると、バージョン制約を使用して、ローカルにインストールされている最新の一致するバージョンが検索されます。

次のバージョン制約形式を使用します:

形式説明
latest最新バージョン。
<MAJOR>メジャーバージョンを選択します。たとえば、1は、1.*.*と一致するバージョンを選択します。
<MAJOR>.<MINOR>メジャーおよびマイナーバージョンを選択します。たとえば、1.5は、1.5.*と一致する最新バージョンを選択します。
<MAJOR>.<MINOR>.<PATCH>メジャー、マイナーバージョン、およびパッチを選択します。たとえば、1.5.1は、バージョン1.5.1を選択します。

バイナリを手動でインストール

fleetingプラグインを手動でインストールするには:

  1. システム用のfleetingプラグインバイナリをダウンロードします:

  2. バイナリの名前がfleeting-plugin-<name>の形式であることを確認します。たとえば、fleeting-plugin-awsなどです。

  3. バイナリが$PATHから検出できることを確認します。たとえば、/usr/local/binに移動します。

  4. 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 installOCIレジストリ配信からfleetingプラグインをインストールします。
gitlab-runner fleeting list参照されているプラグインと使用されているバージョンを一覧表示します。
gitlab-runner fleeting loginプライベートレジストリにサインインします。