Figaro环境变量在Gemfile中

时间:2017-04-06 12:01:07

标签: ruby-on-rails git heroku rubygems bundler

我正在尝试为我的gemfile设置一个auth令牌来访问私有git仓库。 即

gem 'mygem', git: "https://ENV['GITHUB_AUTH_TOKEN']:x-oauth-basic@github.com/my_account/my_repo.git", tag: "0.0.1"

我无法弄清楚如何在Figaro中存储它,但是当我运行bundle install时可以使它可以访问。

非常相似 This question

除了没有config / heroku_env.rb,我有一个config / application.yml文件。

我确信答案非常直截了当。

我想将它保存在该文件中,因为它将所有内容整齐地保存在一个地方,但如果不是,我可以把它放在特定的地方,只要它与heroku很好地对齐。

有什么想法吗?

2 个答案:

答案 0 :(得分:0)

我认为你需要运行

figaro heroku:set -e production

设置将config / application.yml文件中的环境变量设置为Heroku环境变量。

答案 1 :(得分:0)

我找到了一种可行的方法,它有点令人讨厌,因为你必须将凭据保存在两个不同的地方。

.bundle

BUNDLE_GITHUB__COM: <auth_token>:x-oauth-basic

的Gemfile

gem 'mygem', git: "https://github.com/my_account/my_repo.git", tag: "0.0.1"
# Note that you don't put anything in here, bundler sorts it out automagically

然后

heroku config:set BUNDLE_GITHUB__COM=<auth_token>:x-oauth-basic

作品。 烦人,因为现在application.yml与我的heroku文件有不同的内容。但就这样吧。

更新

更好的解决方案

刚刚放

BUNDLE_GITHUB__COM: <auth_token>:x-oauth-basic

进入你的application.yml和heroku配置。

我希望有人在某个地方记录下来,这会给我带来很多麻烦......