我正在尝试为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 get
或go install
以安全的方式访问我们的私有存储库?
答案 0 :(得分:0)
我对GITHUB_TOKEN使用解决方法来解决这个问题。
GITHUB_TOKEN
export GITHUB_TOKEN=xxx
git config --global url."https://${GITHUB_TOKEN}:x-oauth-basic@github.com/mycompany".insteadOf "https://github.com/mycompany"
这样,您就不会暴露密码,并且可以随时撤消令牌。
注意:Go在下载依赖项时使用http
,而不是ssh
。