gpt4 book ai didi

jenkins - 无法将 Jenkins 连接到gitlab

转载 作者:行者123 更新时间:2023-12-04 17:52:39 25 4
gpt4 key购买 nike

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

在 VM2 上,我创建了一个具有公共(public)访问权限的 root 用户的存储库 http://192.168.0.32/root/sparkjava_hello_world (访问正常)并生成访问 token

在 VM1 上:- 我在 jenkins 中安装了 gitlab 插件- 我将用户 jenkins 的公钥复制到 VM2 中用户 git 的 authorized_key :从用户 jenkins shell,ssh git@VM2 可以,不需要密码- 我创建了 gitlab api 凭证并将访问 token 粘贴到其中- 我在 Manage Jenkins -> Configure System 菜单中配置了 gitlab url(它响应正常)

但是当我在我的 jenkins 工作中设置 git source 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: fatal: 'root/sparkjava_hello_world.git' 似乎不是 git 存储库致命:无法从远程存储库读取。

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

我试过“ssh://git@192.168.0.32:root/sparkjava_hello_world.git”也不行

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

最佳答案

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

尝试在 VM2(来自 VM1)上进行交互式 ssh session ,并在那里执行 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 项目上部署该部署 key (项目设置/部署 key ),然后您的 Jenkins 将能够访问您的 GitLab 项目(使用该 ssh key 作为凭证)。


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

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

这意味着 ssh -T git@192.168.0.32 应该打开交互式 session ,而是生成消息:

Welcome to GitLab, xxx

关于jenkins - 无法将 Jenkins 连接到gitlab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43300681/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com