SSH
SSH 执行器只支持 Bash 中生成的脚本,暂不支持缓存功能。
它是一个允许您通过 SSH 执行命令在远端机器上执行构建的简单执行器。
如果 Git LFS 安装在远端机器上,极狐GitLab Runner 会使用
git lfs
命令。
确保 Git LFS 在任何使用 SSH 执行器运行极狐GitLab Runner 的远端系统中都是最新的。概览
如果您想使用 SSH 执行器,您需要在 [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
。
安全
引入于极狐GitLab 14.3。
如果您想启用 SSH StrictHostKeyChecking
,请确保 [runners.ssh.disable_strict_host_key_checking]
设置为
false
。当前默认为 true
。
在极狐GitLab 15.0 及更高版本中,默认值为 false
,表明需要主机密钥检查。