在 Rake 任务中使用环境变量

2023-11-23

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有一个值,但我不清楚细节。

那么,我该如何使用ENV在 Rake 任务中?


有两个好方法可以做到这一点:

使用 Heroku 的“Foreman”工具。将所有环境变量放入.env:

VAR=value

and run foreman run rake some_task.

或者(并且,我推荐这种方式),使用“Figaro”宝石。将你的变量放入config/application.yml:

VAR: value

就是这样;rake some_task.

我推荐后者,只是因为rake figaro:heroku将按照中指定的方式将您的环境推高application.yml

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 Rake 任务中使用环境变量 的相关文章

随机推荐