Hudson / Jenkins – 如何在BitBucket.com上访问私有git存储库

这个问题是漫长而多面的,所以我先从一个问题开始

简要概述,然后详细显示我尝试过的所有内容和我的内容

关于他们为什么不工作以及我做错了什么的问题.

概观

我正在尝试在Hudson上设置一个Build Job来获取私有的源代码
BitBucket上的存储库. Stack上有很多类似的问题
溢出,但由于各种原因,它们都没有满足我的需求.

我想使用https而不是ssh访问它,但在那里
似乎无法通过https和所有人在Hudson中访问它
在网上似乎在ssh上出售.所以我试图让它成功
ssh,但是徒劳无功.

所以,我的核心问题是:如何访问私人网站
Hudson中的BitBucket存储库?

笔记

>我意识到jenkins更好,但我正在努力
已建立的Hudson服务器.请不要转向的建议
jenkins.我在标题和标签中包含了jenkins,因为更有可能任何解决方案都适用于两者.

>由于遇到了几个死胡同,我还问了几个“子问题”,详细说明了上面的核心问题
– 如果你可以启发我,他们会特别感激.

问题

我使用Hudson的Git插件,并按如下方式配置它:

由于这是一个私有存储库,它需要某种程度的身份验证.当然,构建失败了.以下是堆栈跟踪的相关部分:

ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException:
Could not clone https://TJamesBoone@bitbucket.org/OtherUser/projectname.git
Caused by: hudson.plugins.git.GitException:
org.eclipse.jgit.api.errors.TransportException:
https://TJamesBoone@bitbucket.org/OtherUser/projectname.git: not authorized

问题:为什么Hudson的Git插件在项目配置中没有位置用于私有存储库的身份验证?毕竟,SVN插件可以处理身份验证.有充分的理由吗?

我试过的事情

我重新配置项目以使用ssh url而不是https url:

然后我使用Atlassian的this tutorial创建了一个ssh密钥.然后我将ssh密钥添加到BitBucket上的项目中.

我再次尝试构建,得到了这个堆栈跟踪(相关部分):

ERROR: Error cloning remote repo 'origin' 
hudson.plugins.git.GitException:
Could not clone git@bitbucket.org:OtherUser/projectname.git
Caused by: hudson.plugins.git.GitException:
org.eclipse.jgit.api.errors.TransportException:
git@bitbucket.org:OtherUser/projectname.git:
UnknownHostKey: bitbucket.org. RSA key fingerprint is
97:8c:1b:f2:6f:14:6b:5c:3b:ec:aa:46:46:74:7c:40

然后我想我应该尝试用可用的两个ssh插件配置Hudson,发布SSH插件和SSH插件(我在here学到了这一点).

但我无法弄清楚如何使用它们.首先,我假设我不需要发布SSH插件,因为我不想发布,我只是想拉.其次,SSH插件对我不起作用.我试过这样做:

但这里的问题是它无法连接.此外,它需要一个端口号,如果我什么都没输入,则使用22作为默认值.我不知道该怎么做.

问题:我是否甚至需要配置SSH站点才能从此私有BitBucket存储库成功发出?

摘要

我如何访问私人
Hudson中的BitBucket存储库?

在我的Hudson构建中,我需要能够从这个私有BitBucket存储库中获取.我似乎无法使用ssh,我甚至不知道是否可以使用https,因为我没有地方输入密码.如果有人可以帮助我,我会很高兴.

最佳答案 对于HTTPS连接,您应该在HTTPS查询中定义您的密码,例如:

https://TJamesBoone:**PASSWORD**@bitbucket.org/OtherUser/projectname.git

对于SSH连接,如上所述,您应该看到DOC:https://confluence.atlassian.com/display/BITBUCKET/Set+up+SSH+for+Git
不要忘记设置EMPTY密码,因为jenkins不支持它.
不要忘记使用ssh git@bitbucket.org首先使用jenkins用户登录git

我不能提供更多关于你的SSH案例的信息,因为我没有在Windows上运行它.

如果这不起作用,请告诉我们:
* jenkins作为服务运行
*如果没有,用于运行jenkins的网络服务器是什么

点赞