这个问题是漫长而多面的,所以我先从一个问题开始
简要概述,然后详细显示我尝试过的所有内容和我的内容
关于他们为什么不工作以及我做错了什么的问题.
概观
我正在尝试在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的网络服务器是什么