Ответ 1
ENV['EXAMPLE'] = 'something'
Rake::Task['db:rebuild'].invoke
У меня есть три задачи Rake, вызванные из другой задачи Rake. Первая задача Rake требует, чтобы перед ее выполнением была установлена переменная окружения.
Следующие действия, однако это означает, что я теряю весь вывод из важной задачи:
namespace :deploy do
task :staging => :environment do
`EXAMPLE=something rake db:rebuild`
Rake::Task["rake envs:push:staging"].invoke
Rake::Task["rake app:push:staging"].invoke
end
end
Как я могу вызвать первую задачу с переменной окружения И отобразить ее вывод на терминал?
ENV['EXAMPLE'] = 'something'
Rake::Task['db:rebuild'].invoke
Используйте system
вместо обратных тиков:
system("EXAMPLE=something rake db:rebuild")