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

SSH

  • プラン: Free、Premium、Ultimate
  • 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated

SSH executorは、Bashで生成されたスクリプトのみをサポートしており、キャッシュ機能はサポートされていません。

このexecutorでは、SSH経由でコマンドを実行して、リモートマシンでビルドを実行できます。

GitLab RunnerがSSH executorを使用するすべてのリモートシステムで、一般的な前提要件を満たしていることを確認してください。

SSH executorを使用する

SSH executorを使用するには、[runners.ssh]セクションでexecutor = "ssh"を指定します。次に例を示します:

[[runners]]
  executor = "ssh"
  [runners.ssh]
    host = "example.com"
    port = "22"
    user = "root"
    password = "password"
    identity_file = "/path/to/identity/file"

サーバーに対して認証するには、passwordまたはidentity_file、あるいはその両方を使用できます。GitLab Runnerは、/home/user/.ssh/id_(rsa|dsa|ecdsa)からidentity_fileを暗黙的に読み取りません。identity_fileは明示的に指定する必要があります。

プロジェクトのソースは~/builds/<short-token>/<concurrent-id>/<namespace>/<project-name>にチェックアウトされます。

各要素の内容は次のとおりです:

  • <short-token>は、Runnerのトークンの短縮バージョンです(最初の8文字)。
  • <concurrent-id>は、プロジェクトのコンテキストで特定のrunner上のローカルジョブIDを識別する一意の番号です。
  • <namespace>は、GitLabでプロジェクトが保存されているネームスペースです。
  • <project-name>は、GitLabに保存されているプロジェクトの名前です。

~/buildsディレクトリを上書きするには、config.toml[[runners]]セクションでbuilds_dirオプションを指定します。

ジョブアーティファクトをアップロードする場合は、SSH経由で接続するホストにgitlab-runnerをインストールします。

厳密なホストキーチェックを設定する

SSH StrictHostKeyCheckingは、デフォルトで有効になっています。StrictHostKeyCheckingのSSHを無効にするには、[runners.ssh.disable_strict_host_key_checking]trueに設定します。現在のデフォルト値はfalseです。