无法将jenkins连接到gitlab

时间:2017-04-08 21:46:00

标签: jenkins build gitlab

我有2个虚拟机的设置:带有jenkins的VM1,带有gitlab的VM2

在VM2上我创建了一个具有公共访问权限http://192.168.0.32/root/sparkjava_hello_world的用户root的repo(acccess OK) 并生成访问令牌

在VM1上: - 我在jenkins中安装了gitlab插件 - 我将用户jenkins的公钥复制到VM2中用户git的authorized_key:来自用户jenkins shell,ssh git @ VM2没问题,没有密码问 - 我创建了gitlab api凭证并在其中粘贴了访问令牌 - 我在Manage Jenkins中配置了gitlab网址 - >配置系统菜单(它响应正常)

但是当我在我的jenkins工作中设置git源git@192.168.0.32:root / sparkjava_hello_world.git时,它不起作用:

无法连接到存储库:命令" / usr / bin / git ls-remote -h git@192.168.0.32:root / sparkjava_hello_world.git HEAD"返回状态码128: 标准输出: stderr:致命:' root / sparkjava_hello_world.git'似乎不是一个git存储库 致命:无法从远程存储库读取。

我假设与VM2的ssh连接正常,因为这不是连接被拒绝的消息。

我试过" ssh://git@192.168.0.32:root / sparkjava_hello_world.git"不起作用

我错过了什么,或者做错了什么? 谢谢你的帮助:)

1 个答案:

答案 0 :(得分:0)

检查VM2中是否有(defined by default in a typical gitlab.yml/home/git/repositories/root/sparkjava_hello_world.git

在VM2上尝试交互式ssh会话(来自VM1),并在那里执行ls-remote:

ssh git@192.168.0.32
git ls-remote /home/git/repositories/root/sparkjava_hello_world.git

对于Jenkins,您需要的是将您的公钥(~/.ssh/id_rsa.pub)用作:

确保在GitLab项目上部署该部署密钥(项目设置/部署密钥),然后您的Jenkins将能够访问您的GitLab项目(使用该ssh密钥作为凭证)。

注意:在VM1中正常使用GitLab用户密钥(如用户xxx)将是:

  • 在GitLab中定义用户xxx
  • 将其公钥与其用户设置/ ssh密钥相关联(将为您修改~git/.ssh/authorized_keys,添加forced command line(此链接适用于gitolite,但它也适用于gitlab)

这意味着ssh -T git@192.168.0.32应该打开交互式会话,但会生成消息:

Welcome to GitLab, xxx