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)