登录
首页 >  Golang >  Go问答

无法成功从 Jenkins 检索私有 Bitbucket 存储库

来源:stackoverflow

时间:2024-02-19 11:54:23 342浏览 收藏

小伙伴们有没有觉得学习Golang很有意思?有意思就对了!今天就给大家带来《无法成功从 Jenkins 检索私有 Bitbucket 存储库》,以下内容将会涉及到,若是在学习中对其中部分知识点有疑问,或许看了本文就能帮到你!

问题内容

希望这里有人能够提供帮助,因为我对 go 不太熟悉。

我的 jenkins 从站使用 ec2 插件在 ec2 上的 amazon linux 2 上运行。我目前正在创建一个作业来使用 go 插件构建和部署 go 应用程序,但我在 bitbucket 中的私有存储库上运行“go get”时遇到了困难。我收到的错误是:

403 Forbidden
    server response: Access denied. You must have write or admin access.

在线搜索后,我发现运行 git config --global url."git@bitbucket:".insteadof "https://bitbucket.org/ 应该有所帮助,所以我将其构建到从属映像中,但我我仍然遇到同样的问题。我还按照建议设置了 goprivate=bitbucket.org/org_name/

存储库上的权限是正确的,所以我不太确定这里发生了什么,我想知道我是否应该走使用容器的路线,或者这是否会让事情变得更加复杂。

任何建议都会有帮助,谢谢!


正确答案


以下是您可以检查的一些事项。

  • 该网站讨论了与您遇到的相同的错误。
    https://github.com/golang/go/issues/46344

  • 然后错误提到您需要写入权限(而不是读取权限)。
    该错误是否与您无法在尝试克隆的位置写入有关?

  • 过去我们必须访问需要身份验证的私有存储库。
    据我当时所知, go get 不支持身份验证, 并希望仅使用 http: 或 https:(无 ssh:)。

我们发现的技巧是添加到我们的 .gitconfig 文件中(例如在你的 $home 中)

[url "ssh://[email protected]/"]
  insteadof = https://myserver.org/

这意味着 go get 将通过 https 发出 git 克隆,
但这已被 git 克隆 ssh://git@... 取代。
我们的机器在用户帐户中添加 ssh 密钥,并在 git 服务器上添加匹配的密钥。
这就完成了在经过身份验证的存储库上使用 go get 的技巧。

更新:再次阅读您的问题我意识到您已经尝试过替代配置。不过,我的语法略有不同。

这个技巧值得宣传。它解决了我们过去遇到的一些棘手问题。

今天关于《无法成功从 Jenkins 检索私有 Bitbucket 存储库》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>