SSH
- プラン: Free、Premium、Ultimate
- 提供形態: GitLab.com、GitLab Self-Managed、GitLab Dedicated
このexecutorはメンテナンスモードです。重要なセキュリティアップデートは受け取りますが、新しい機能は予定されていません。新しいプロジェクトには、積極的に開発されているexecutorの使用を検討してください。
SSH executorは完全性のために含まれていますが、サポートされているexecutorの中で最も少ないものの1つです。GitLab Runnerは外部サーバーに接続し、SSHを介してそこでビルドを実行します。一部の組織はこのexecutorをうまく使用していますが、一般的には別のexecutorタイプを使用する方が良いでしょう。
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のリストからのインデックスです(CI_CONCURRENT_PROJECT_IDの事前定義変数を介してアクセス可能)。<namespace>は、GitLabでプロジェクトが保存されているネームスペースです。<project-name>は、GitLabに保存されているプロジェクトの名前です。
~/buildsディレクトリを上書きするには、config.tomlの[[runners]]セクションでbuilds_dirオプションを指定します。
ジョブアーティファクトをアップロードする場合は、SSH経由で接続するホストにgitlab-runnerをインストールします。
厳密なホストキーチェックを設定する
SSH StrictHostKeyCheckingはデフォルトで有効です。SSH StrictHostKeyCheckingを無効にするには、[runners.ssh.disable_strict_host_key_checking]をtrueに設定します。現在のデフォルト値はfalseです。