繁体   English   中英

gitolite-与Jenkins混在一起-无法访问

[英]gitolite - git with Jenkins - unable to access

我将Jenkins安装为守护程序(在Mac OS X 10.7上),并且我以JENKINS USER的身份使用“ real-os-user ”。

我正在尝试使用git project( helloworld )配置作业,但出现以下错误:

    Failed to connect to repository : Command "git ls-remote -h git-server-name:helloworld HEAD" returned status code 128:
    stdout: 
    stderr: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,keyboard-interactive). 
    fatal: The remote end hung up unexpectedly

如果我在终端窗口中运行' git ls-remote -h git-server-name:helloworld HEAD ',它可以正常工作。

我打印了“ env ”变量,我发现詹金斯正在使用“ real-os-user ”。

任何想法表示赞赏。 谢谢

git-server-name:helloworld是一个ssh地址,因此您需要确保:

  • Jenkins确实(在执行作业时)定义了与Shell会话相同的HOME
  • $HOME/.ssh存在并且包含config文件id_rsaid_rsa.pub (私钥和公钥):测试helloworld Jenkins作业中这些文件的存在以进行测试。
  • Siddharth 在评论中提到了您的私钥可能具有需要添加到ssh-agent的密码短语的事实。
    首先尝试使用将注册到gitolite的无密码短语的密钥。

请注意,如果您确实在用户名之后重命名了公钥和私钥(如gitolite期望其公钥以用户ID命名),则您的配置文件需要引用该新名称:

 .ssh
    real-os-user
    real-os-user.pub
    config

使用配置文件:

Host git-server-name
    HostName git-server-name
    IdentityFile ~/.ssh/real-os-user
    User git # or whatever account is managing gitolite on the server side

考虑到您的git ls-remote ,这应该不是问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM