Momentan lege ich die Schlüssel, die ich verwende, um auf andere APIs und dergleichen zuzugreifen, in der Datei environment.rb ab. So ist es verfügbar, wenn ich lokal und auch auf Heroku laufe.
Ich möchte jedoch beginnen, meinen Code über github öffentlich zugänglich zu machen, damit ich Hilfe bekommen kann.
Was sind die Schritte, die ich tun muss, um dies zu erreichen, insbesondere, damit ich lokal testen kann und auf Heroku testen kann.
Es scheint, als ob es einen Weg auf Heroku gibt, die Schlüssel von einer Befehlszeile aus hinzuzufügen, damit sie nicht in der Ruby-on-Rails-App gespeichert werden müssen. Aber was ist mit lokaler Entwicklung?
Verschiebe sie zu einem Initialisierer und füge die Datei zu .gitignore
hinzuBEARBEITEN:
Es gibt ein Verzeichnis in der Config mit dem Namen initializers. Hier platzieren Sie Code, der beim Start Ihrer Anwendung einmal ausgeführt werden soll. In der Vergangenheit wurde environment.rb für diese Einstellungen verwendet, aber Initialisierer sorgen für eine bessere Organisation. Ich würde eine Datei im Initialisierungsverzeichnis namens "load_keys.rb" oder etwas ähnliches erstellen. In dieser Datei würden Sie den genauen Code eingeben, der sich in Ihrer Datei "environment.rb" befand, die Sie nicht in GitHub haben möchten.
Sie können Umgebungsvariablen ( config vars auf Heroku) verwenden, um Ihre API-Schlüssel zu speichern und nicht in die Quelle zu checken.
Für ein Projekt , an dem ich gerade arbeite, verwende ich eine Verzweigung von twitter-auth , und änderte es, um das Client-Geheimnis und Schlüssel aus Env-Variablen zu lesen:
%Vor% Ich habe dann die Schlüssel in meinem .rvmrc
im Projektverzeichnis für den lokalen Gebrauch eingerichtet:
Und schließlich die Umgebungsvariablen auf heroku einrichten:
%Vor% Dann stelle sicher, dass dein .rvmrc
im .gitignore
ist und du dann zu github wechseln kannst, ohne irgendwelche API-Schlüssel preiszugeben.
eval $(keychain private-key-file1 private-key-file2 private-key-file3; source ~/.keychain/${HOSTNAME}-sh)
zu Ihrer ~ / .bashrc, ~ / .profile, ~ / .bash_profile oder was Sie haben. (Siehe die Schlüsselbund-Manpage für csh, tcsh, zsh oder was auch immer) Tags und Links ruby-on-rails github heroku