Как я выполняю задачу граблей из Capistrano?

У меня уже есть deploy.rb, который может развернуть мое приложение на моем рабочем сервере.

Мое приложение содержит пользовательскую задачу граблей (.rake файл в каталоге lib/задач).

Я хотел бы создать задачу ограничения, которая удаленно выполнит ту задачу граблей.

101
задан Richard Poirier 23 November 2008 в 06:28
поделиться

2 ответа

Немного более явным образом, в вашем \ config \ deploy.rb добавьте за пределами любой задачи или пространства имен:

namespace :rake do  
  desc "Run a task on a remote server."  
  # run like: cap staging rake:invoke task=a_certain_task  
  task :invoke do  
    run("cd #{deploy_to}/current; /usr/bin/env rake #{ENV['task']} RAILS_ENV=#{rails_env}")  
  end  
end

Затем из / rails_root / можно запустить:

cap staging rake:invoke task=rebuild_table_abc
57
ответ дан 24 November 2019 в 04:38
поделиться

Это также работы:

run("cd #{release_path}/current && /usr/bin/rake <rake_task_name>", :env => {'RAILS_ENV' => rails_env})

Доп. информация: Capistrano Run

1
ответ дан 24 November 2019 в 04:38
поделиться
Другие вопросы по тегам:

Похожие вопросы: