Запретить запуск любого гема --clear-crontab перед установкой гемов - PullRequest
0 голосов
/ 27 декабря 2011

Я использую capistrano и всякий раз, когда gem, при новом развертывании на сервере без установленного gem, capistrano пытается запустить

всякий раз, когда --clear-crontab

ДО запуска команды rake gems: install, ясно (из this ), что эта команда запускается после deploy_code, но также и моя команда, которая устанавливает gems (ниже) ..

after "deploy:update_code", "deploy:symlink_config"

deploy.task :symlink_config, :roles => :app do
  # create a symlink to the database.yml file located in the shared_path
  run "ln -nsf #{shared_path}/config/database.yml #{current_release}/config"

  # install any missing gems
  run "cd #{current_release} && sudo rake gems:install --trace RAILS_ENV=#{rails_env}"

  # migrate the database
  run "cd #{current_release} && rake db:migrate --trace RAILS_ENV=#{rails_env}"
end

Есть ли способ заказать эти задачи, потому что при холодном развертывании я всегда получаю всякий раз, когда: не найдено , и мне приходится вручную устанавливать гем всякий раз на удаленном сервере

1 Ответ

0 голосов
/ 13 августа 2012

В итоге я удалил require "whenever/capistrano" из config \ deploy.rb, чтобы избежать «автоматического» развертывания. Вместо этого я добавил задачу, которая выполняет --clear-crontab и --update-crontab. Это работает так, как будет выполняться в последовательности, которую я установил.

Я основал его на этом посте , который имеет дело с немного другой проблемой, но имеет то же решение - не использовать "автоматическую" интеграцию с capistrano.

...