在Jenkins中构建带有私有存储库中的依赖项的go项目

时间:2019-06-13 14:06:57

标签: go jenkins credentials

我正在尝试为go个项目设置自动构建。大多数人只是使用不需要证书的github依赖项。我们有一些内部依赖性,但是在私有git中央服务器上可用。但是需要凭据才能访问这些凭据。

一个可能的解决方法是在我们的构建机器/构建docker内部配置一个全局git变量;像这样:

git config --global url."https://user:password@private.git.server/".insteadOf "https://private.git.server/"

但这对我来说似乎不是最好的解决方案,因为密码将存储在人类可读的文本文件中。

我认为git-credentials插件应该能够帮助我;我可以导出GIT_TERMINAL_PROMPT=1并让git-credentials插件替我填充吗?

我如何确保go getgo install以安全的方式访问我们的私有存储库?

1 个答案:

答案 0 :(得分:0)

我对GITHUB_TOKEN使用解决方法来解决这个问题。

  1. https://github.com/settings/tokens处生成GITHUB_TOKEN
  2. export GITHUB_TOKEN=xxx
  3. git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/mycompany".insteadOf "https://github.com/mycompany"

这样,您就不会暴露密码,并且可以随时撤消令牌。

注意:Go在下载依赖项时使用http,而不是ssh