在jenkins服务器上设置git私有存储库项目

Saz*_*zad 6 git ssh ruby-on-rails github jenkins

我想在jenkins服务器上设置git私有repo.我已经安装了git插件和github.当我在jenkins项目中设置repo url时,错误是

Failed to connect to repository : Command "git -c core.askpass=true 
ls-remote -h git@github.com:repo/project.git HEAD" returned 
status code 128:
stdout:
stderr: Permission denied (publickey).
fatal: The remote end hung up unexpectedl
Run Code Online (Sandbox Code Playgroud)

我到目前为止做了什么:

  1. 我的服务器用户和jenkin用户(两者都在同一台服务器上)是不同的.虽然在我看来这些并不相关.詹金斯用户被赋予所有信誉.

  2. 在我的服务器下var/lib/jenkins/.ssh(.ssh由我创建)我添加了ssh密钥.公钥被添加到github仓库.

  3. 通过将用户切换到jenkins,我可以通过此ssh克隆项目.所以我认为没有任何公钥添加问题.

我用谷歌搜索了这个问题.有很多解决方案.我尝试了大部分.但仍然没有解决方案.可能我错过了一些东西.

我的repo url就是这样的git@github.com:repo/project.git

Nai*_*jiv 2

如果您HOME设置了,/var/lib/jenkins/那么我希望您已成功完成所有步骤:)

那么您的情况可能会发生一件事。就像当您使用以下命令切换用户时:

su jenkins 
Run Code Online (Sandbox Code Playgroud)

该命令意味着您切换用户,但主目录将与 root 的主目录相同!

因此,您需要通过确认特定用户主页也已切换来切换用户。为此,您需要遵循:

su -s /bin/bash jenkins
Run Code Online (Sandbox Code Playgroud)

然后您需要再次生成 ssh 公钥或仅更新已知主机。这会起作用。

相关链接