我有一个Git的bitbucket存储库,我想让我的Jenkins服务器自动访问。这只能使用公钥/私钥进行验证。所以我创建了一个密钥对并将公钥上传到bitbucket。公钥和私钥位于运行jenkins的tomcat用户的.ssh文件夹中的服务器上。当我以该用户在服务器上登录时,我能够克隆我的项目。如何从jenkins登录到git bitbucket存储库
但是我无法让jenkins实际检查bitbucket中的代码。它总是说:
Permission denied (publickey).
fatal: The remote end hung up unexpectedly
嗯,我认为这是因为通过ssh访问资源库时,我需要为我的私钥和詹金斯提供的密码是无法自动做到这一点。我看,这是有可能通过提供包含以下内容的.ssh文件夹内的一个配置文件,以避免beeing要求的密码:
Host bitbucket.org
IdentityFile ~/.ssh/id_dsa
我这样做了,但只要我提供这个文件的我不能再从bitbucket中克隆版本库。甚至不直接从服务器获取如上所示的相同错误消息。
有没有人设法使这个设置工作?我也在这里阅读了下面的线程,这对我来说是没用的:How do i set a private ssh key for hudson/jenkins to access bitbucket?,我检查了tomcat真的在用户tomcat6下运行,创建一个简单地运行“whoami”的空测试项目。所以我几乎没有解决问题的想法。
感谢您的帮助。这真正解决了这个问题。 – ali
@ali,尽管jenkins只需要只读访问权限,但是除了使用ssh之外,没有其他方法可以访问存储库吗? – jamessan
nope。 jenkins git插件没有提供其他方法。 – ali