gpt4 book ai didi

git - Hudson/Jenkins -- 如何访问 BitBucket.com 上的私有(private) git 存储库

转载 作者:太空狗 更新时间:2023-10-29 13:43:41 28 4
gpt4 key购买 nike

这个问题很长而且涉及多个方面,所以我将从一个简要概述,然后详细展示我尝试过的一切和我的关于为什么它们不起作用以及我做错了什么的问题。

概览

我正在尝试在 Hudson 上为私有(private)源代码设置构建作业BitBucket 上的存储库。 Stack上有很多类似的问题溢出,但由于各种原因,它们都没有满足我的需求。

我想使用 https 而不是 ssh 来访问它,但是那里似乎没有办法在 Hudson 中使用 https 访问它,每个人在网络上似乎在 ssh 上出售。所以我试图让它与ssh,但徒劳无功。

所以,我的核心问题是:
我怎样才能访问一个私有(private)的Hudson 中的 BitBucket 存储库?

注意事项

  • 我意识到 Jenkins 更好,但我正在与已建立的 Hudson 服务器。拜托,没有关于切换到的建议Jenkins。
    我将 Jenkins 包含在标题中并作为标签,因为很可能任何解决方案都适用于两者。
  • 由于遇到了几个死胡同,我还提出了几个详细说明上述核心问题的“子问题”-- 如果您能启发我,我将不胜感激。

问题

我使用的是Hudson的Git插件,配置如下:

Git Configuration

由于这是一个私有(private)存储库,因此需要以某种方式进行身份验证。所以当然,构建失败了。以下是堆栈跟踪的相关部分:

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 插件在项目配置中没有位置用于私有(private)存储库的身份验证?毕竟,SVN 插件可以处理身份验证。有充分的理由吗?

我尝试过的事情

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

Git Config with ssh url

然后我使用 this tutorial 创建了一个 ssh key 来自 Atlassian。然后我将 ssh key 添加到 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,Publish Over SSH 插件和 SSH 插件(我了解了 here )。

但我不知道如何使用它们。首先,我假设我不需要 Publish Over SSH 插件,因为我不是要发布,我只是想 pull 。其次,SSH 插件对我不起作用。我试过这样做:

SSH Sites Config

但是这里的问题是连接不上。此外,它需要一个端口号,如果我什么都不输入,默认使用 22。我不知道该怎么办。

问题: 我什至需要配置 SSH 站点才能成功从这个私有(private) BitBucket 存储库中放入数据吗?

总结

我怎样才能访问一个私有(private)的Hudson 中的 BitBucket 存储库?

在我的 Hudson 构建中,我需要能够从这个私有(private) 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 不支持它。不要忘记先使用 jenkins 用户登录到 git,使用 ssh git@bitbucket.org

我无法提供更多信息,因为我没有在 Windows 上运行它。

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

关于git - Hudson/Jenkins -- 如何访问 BitBucket.com 上的私有(private) git 存储库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19550590/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com