gitlab ssh runner 失败。怎么了?

Posted

技术标签:

【中文标题】gitlab ssh runner 失败。怎么了?【英文标题】:gitlab ssh runner fails. What's wrong? 【发布时间】:2021-11-07 04:47:51 【问题描述】:

我正在尝试使用 ssh 运行器设置 gitlab ci/cd 管道。但是当我启动管道时,我有以下错误:

/etc/gitlab-runner/config.toml 如下:

concurrent = 1
check_interval = 0
log_level = "debug"

[session_server]
  session_timeout = 1800

[[runners]]
  name = "runner"
  url = "https://gitlab.com/"
  token = "XXXXXXXXXX"
  executor = "ssh"
  [runners.ssh]
    host = "gitlab.com"
    port = "22"
    user = "gitlab-runner"
    identity_file = "/home/gitlab-runner/.ssh/id_rsa"
  [runners.custom_build_dir]
  [runners.cache]
    [runners.cache.s3]
    [runners.cache.gcs]
    [runners.cache.azure]

Runner 安装在 Ubuntu 20.04 下。我将不胜感激任何建议!提前谢谢你!

【问题讨论】:

【参考方案1】:

SSH executor 是:

它使 GitLab Runner 连接到外部服务器并在那里运行构建。 我们有一些组织使用此执行器的成功案例,但通常我们建议使用其他类型之一。

考虑到它会尝试连接到gitlab.com 本身并在那里运行某些东西,你的 SSH 执行程序失败是有道理的:这肯定是不可能的,因为 GitLab 只会回答 ssh 查询以用于 Git 存储库操作,而不是随机用户脚本。

GitLab runner 旨在安装在用户控制器服务器上,(就像 GitHub webhook 一样),我为了被 GitLab 作业调用。

【讨论】:

非常感谢!

以上是关于gitlab ssh runner 失败。怎么了?的主要内容,如果未能解决你的问题,请参考以下文章

GitLab runner 获取子模块的“主机密钥验证失败”

Windows 上的 Gitlab Build Runner 使用 HTTP 而不是 SSH

GitLab Runner CI 管道内的 SSH 连接无法验证主机密钥

Windows 10 OpenSSH ssh-add“代理拒绝操作”(GitLab Windows Shared Runner)

gitlab runner pytest 失败,但显示工作成功

GitLab Runner 权限问题解决方案