从Rake获取Ruby环境变量

时间:2013-01-22 11:02:29

标签: ruby rake environment-variables rakefile

我有一个Rakefile,它有部署或构建应用程序的任务。这个Rakefile用于生产和开发。

我希望build任务知道环境是什么。我可以在不运行任务时将参数传递给任务吗?可以用环境变量完成吗?

在开发中,我需要看起来像这样的任务:

task :build => :clean do
  compass compile -e development
  jekyll
end

在制作中,像这样:

task :build => :clean do
  compass compile -e production
  jekyll
end

1 个答案:

答案 0 :(得分:21)

是的,您可以使用环境变量。这是骨架实现:

task :build do |t, args|
  puts "Current env is #{ENV['RAKE_ENV']}"
end

用法:

% rake build
Current env is 

% RAKE_ENV=development rake build
Current env is development