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です。