我有一个Rakefile,它有部署或构建应用程序的任务。这个Rakefile用于生产和开发。
我希望build
任务知道环境是什么。我可以在不运行任务时将参数传递给任务吗?可以用环境变量完成吗?
在开发中,我需要看起来像这样的任务:
task :build => :clean do
compass compile -e development
jekyll
end
在制作中,像这样:
task :build => :clean do
compass compile -e production
jekyll
end
答案 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