登录
首页 >  Golang >  Go问答

私有 git 存储库中的 Golang 依赖项

来源:stackoverflow

时间:2024-02-14 10:21:24 268浏览 收藏

对于一个Golang开发者来说,牢固扎实的基础是十分重要的,golang学习网就来带大家一点点的掌握基础知识点。今天本篇文章带大家了解《私有 git 存储库中的 Golang 依赖项》,主要介绍了,希望对大家的知识积累有所帮助,快点收藏起来吧,否则需要时就找不到了!

问题内容

假设我有一个 Go 项目,它依赖于 github 上的 2 个不同的私有存储库。我正在使用部署密钥进行 github 身份验证。我正在尝试设置 CI 来构建、测试和部署整个内容。

CI 创建了所有 2 个部署 ssh 密钥的环境(我们称它们为 ~/.ssh/key1~/.ssh/key2

当我运行 go build 时,它会尝试立即下载所有依赖项。如何避免存储库不存在的异常(由于身份验证问题)?您将如何解决这个问题?


解决方案


如果您使用两个不同的密钥,则需要修改这些依赖项的 url 才能引用这些单独的密钥。

这是通过 ~/.ssh/config 完成的(假设 jenkins 代理使用正确的用户运行,并且有权访问 ~/.ssh/config

~/.ssh/config 中,您声明两个“主机”条目,每个条目引用自己的私钥:

host repo1
  user git
  hostname git.server.com
  identityfile ~/.ssh/key1

host repo2
  user git
  hostname git.server.com
  identityfile ~/.ssh/key2

然后确保 repo1 的依赖项不再是 [email protected]:auser/arepo 而是:

repo1:aUser/aRepo

今天关于《私有 git 存储库中的 Golang 依赖项》的内容就介绍到这里了,是不是学起来一目了然!想要了解更多关于的内容请关注golang学习网公众号!

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