Настройте задачу Capistrano для запуска только при развертывании, а не при развертывании: cold - PullRequest
1 голос
/ 16 мая 2009

Я использую craken для запуска процессов cron на моем экземпляре машины aws. Я определил следующие пользовательские задачи в Capistrano:

namespace :craken do
  desc "Install raketab"
  task :install, :roles => :cron do
    set :rails_env, "production" unless exists?(:rails_env)
    set :env_args, (exists?(:env_args) ? env_args : "app_name=#{application} deploy_path=#{current_path}")
    run "cd #{current_path} && rake #{env_args} RAILS_ENV=#{rails_env} craken:install"
  end
  task :uninstall, :roles => :cron do
    set :rails_env, "production" unless exists?(:rails_env)
    set :env_args, (exists?(:env_args) ? env_args : "app_name=#{application} deploy_path=#{current_path}")
    run "cd #{current_path} && rake #{env_args} RAILS_ENV=#{rails_env} craken:uninstall"
  end
end

before "deploy:symlink", "craken:uninstall"
after "deploy:symlink", "craken:install"

Проблема в том, что перед "deploy: symlink", "craken: uninstall" происходит сбой установки deploy: cold при первом запуске, поскольку raketab craken еще не установлен. Как я могу настроить это для запуска, только если это развертывание, а не развертывание: cold? Есть ли переменная окружения, которую я могу проверить?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 13 февраля 2010

Задача deploy: cold больше не рекомендуется для использования.

http://www.capify.org/index.php/From_The_Beginning#About_deploy:cold

0 голосов
/ 16 мая 2009

Быстрый взлом, изменение взломать: удалить до

запустите "cd # {current_path} && rake # {env_args} RAILS_ENV = # {rails_env} craken: uninstall; true"

Или перехватить взломанные задачи при развертывании: обновление

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...