0

我正在使用 capistrano 和when gem,在没有安装任何gem 的情况下重新部署到服务器,capistrano 尝试运行

每当 --clear-crontab

在运行 rake gems:install 命令之前,很明显(从此该命令在 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

有没有办法订购这些任务,因为在冷部署时我总是得到:未找到并且必须在远程服务器上手动安装whengem

4

1 回答 1

0

我最终做的是require "whenever/capistrano"从 config\deploy.rb 中删除,以避免“自动”部署。相反,我添加了一个执行--clear-crontaband的任务--update-crontab。这是有效的,因为它将按照我设置的顺序执行。

我以这篇文章为基础,它处理了一个稍微不同的问题,但具有相同的解决方案——不使用与 capistrano 的“自动”集成。

于 2012-08-13T15:49:32.733 回答