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

Posted

技术标签:

【中文标题】Windows 上的 Gitlab Build Runner 使用 HTTP 而不是 SSH【英文标题】:Gitlab Build Runner on Windows uses HTTP instead of SSH 【发布时间】:2016-08-08 10:27:48 【问题描述】:

我是 Gitlab CI 的新手,但已经阅读该主题有一段时间了。 每次提交后,我都必须在我的 Gitlab 上测试编译 C#-Projects,并发现我需要使用 Windows Shell-Runner 设置来进行 CI 以正确构建我的项目。

不幸的是,我的 Gitlab 设置只允许开发人员和机器通过 SSH 连接,而不是 HTTP。但是我的 Windows 运行器总是尝试通过 http 连接并且构建失败。

如何正确配置? 我已经尝试编辑与跑步者关联​​的config.toml,但没有选项指定是使用ssh还是http。

【问题讨论】:

【参考方案1】:

如果您的运行器可以通过 ssh 访问,请尝试使用 gitlab-runner register 命令注册它。 参见 Christian Stankowic 的“GitLab Continuous Integration ”:

# sudo gitlab-runner register
 Please enter the gitlab-ci coordinator URL (e.g. https://gitlab.com/ci):
 http://gitlab.localdomain.loc/ci
 Please enter the gitlab-ci token for this runner:
 xxx
 Please enter the gitlab-ci description for this runner:
 [gitlab.localdomain.loc]:
 Please enter the gitlab-ci tags for this runner (comma separated):
 rpm764,generic
 INFO[0035] 7ab95543 Registering runner... succeeded
 Please enter the executor: ssh, shell, parallels, docker, docker-ssh:
 ssh
 Please enter the SSH server address (eg. my.server.com):
 gitlab.localdomain.loc
 Please enter the SSH server port (eg. 22):
 22
 Please enter the SSH user (eg. root):
 su-gitlab-ci
 Please enter the SSH password (eg. docker.io):
 myPassword
 Please enter path to SSH identity file (eg. /home/user/.ssh/id_rsa):
 /home/su-gitlab-ci/.ssh/id_rsa
 INFO[0143] Runner registered successfully. Feel free to start it, but if it's running already the config should be automatically reloaded!

这将有助于生成具有正确内容的config.toml 文件including an ssh config。

【讨论】:

感谢您的回复@VonC!不幸的是,我只能通过 cmd 或 Powershell 访问运行器。

以上是关于Windows 上的 Gitlab Build Runner 使用 HTTP 而不是 SSH的主要内容,如果未能解决你的问题,请参考以下文章

Ubuntu 服务器上的 Gitlab+Gitolite:为啥它不能与 Windows 客户端一起使用?

GitLab Runner 在 32 位 Windows 上的问题

Jenkins(Publish build status to gitlab)

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

npm install 后 Gitlab Shared Runner docker build

如何在 gitlab-ci build 中跳过前面的 maven 目标?