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

Fleetingは、以下を提供するためにGitLab Runnerが使用するライブラリです。

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

GitLab 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プライベートレジストリにサインインします。