存储gems服务器的凭据

时间:2014-04-25 14:43:34

标签: ruby bundler

我有一个受http基本身份验证保护的私有gem服务器。目前,我将凭证存储为环境变量,并将此行放在我的Gemfile顶部:

source "https://#{ENV['GEMS_USERNAME']}:#{ENV['GEMS_PASSWORD']}@gems.myserver.com"

到目前为止一切顺利,当我运行捆绑包时,一切似乎都有效。但是我看了一下生成的Gemfile.lock并注意到我的服务器的凭据在那里得到了硬编码。

GEM
  remote: https://rubygems.org/
  remote: https://username:password@gems.myserver.com/

有没有办法防止这种情况发生?我不想将我的凭证推送到git仓库。

1 个答案:

答案 0 :(得分:0)

如果您使用的是bundler> = 1.6,则可以执行以下操作:

bundle config http://gems.myserver.com username:password

它应该将这些凭据放在 .bundle / config 文件中,这样您就不需要将它们显式地包含在Gemfile(.lock)中了。