[英]Use environment variables in Rake task
task :some_task, :environment do |t, args|
puts Rails.env #=> development, production, etc
puts ENV #=> {}
end
我設置了一些環境變量(通過本地.env或通過Herokusan的Heroku Config),例如要使用的AWS存儲桶,我想在rake任務中引用它們,但是ENV是一個空哈希。 我知道與環境有關的事情由於:environment
任務的依賴而完成,並且Rails.env
具有值,但是我不清楚細節。
那么,如何在Rake任務中使用ENV
?
有兩種好的方法:
使用Heroku的“領班”工具。 將所有環境變量放入.env
:
VAR=value
並運行foreman run rake some_task
。
或者(並且,我建議采用這種方式),使用“ Figaro” gem。 將您的var放入config/application.yml
:
VAR: value
就是這樣; rake some_task
。
我建議使用后者,僅是因為rake figaro:heroku
會按照application.yml
的指定將您的環境向上推
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.