2017-04-06 3 views
1

Ich versuche, ein Auth-Token für meine gemfile auf einen privaten Git-Repo zugreifen. heißtFigaro Umgebungsvariablen in Gemfile

gem 'mygem', git: "https://ENV['GITHUB_AUTH_TOKEN']:[email protected]/my_account/my_repo.git", tag: "0.0.1" 

Ich kann nicht arbeiten, wie dies in Figaro zu speichern, aber es zugänglich zu bündeln, wenn ich Bündel laufenden Betrieb installiert werden.

Sehr ähnlich This question

Abgesehen davon, dass, anstatt eine config/heroku_env.rb mit ich eine config/application.yml-Datei haben.

Ich bin mir sicher, die Antwort ist lächerlich einfach.

Ich möchte es in dieser Datei behalten, da es alles ordentlich an einem Ort hält, aber wenn nicht, kann ich es irgendwo anders setzen, solange es gut mit heroku übereinstimmt.

Irgendwelche Ideen?

Antwort

0

Ich habe einen Weg gefunden, es funktioniert, es ist ein wenig nervig, dass Sie die Anmeldeinformationen an zwei verschiedenen Orten aufbewahren müssen.

.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 

Und dann

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

Works. Ärgerlich, weil application.yml jetzt einen anderen Inhalt als meine heroku-Datei hat. Aber so sei es.

Update:

Bessere Lösung

Einfach

BUNDLE_GITHUB__COM: <auth_token>:x-oauth-basic 

in beide Ihre application.yml und Heroku Config.

Ich wünschte, jemand hätte dies dokumentiert, hätte mir eine Menge Ärger erspart ...

0

Ich glaube, Sie

figaro heroku:set -e production 

ausgeführt werden müssen, damit sie die Umgebungsvariablen in Ihrer config/application.yml Datei als Heroku Umgebungsvariablen gesetzt.

+0

Das ist nicht das Problem. Das Problem ist, dass selbst lokal die gemfile die auth-Variable nicht aufnimmt, die ich in der application.yml gespeichert habe. – Carpela