В моя проект IM използване винаги, когато + capistrano, така че ето моя Capfile
:
require "capistrano/setup"
require "capistrano/deploy"
require "capistrano/rvm"
require "capistrano/bundler"
require "capistrano/rails/assets"
require "capistrano/rails/migrations"
require "whenever/capistrano"
Dir.glob("lib/capistrano/tasks/*.cap").each { |r| import r }
Ето го моя deployr.rb
файл:
set :application, "privet-mccafe"
set :repo_url, "git@codebasehq.com:digitalizm/mccafe-vk-privet-app/application.git"
set :scm, :git
set :branch, "master"
set :keep_releases, 5
set :ssh_options, { forward_agent: true }
set :bundle_roles, :all
set :linked_files, %w{config/database.yml config/initializers/secret_token.rb}
set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}
namespace :deploy do
desc "Restart application"
task :restart do
on roles(:app), in: :sequence, wait: 5 do
execute :mkdir, "-p #{release_path.join("tmp")}"
execute :touch, release_path.join("tmp/restart.txt")
end
end
end
и тук е моята schedule.rb
файл:
every 4.hours do
rake "notifications:deliver"
end
така или иначе, с изпълнението cap staging deploy
, грешка в имплементацията:
cap aborted!
undefined method `instance" for Capistrano::Configuration:Class
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/gems/whenever-0.8.4/lib/whenever/capistrano/recipes.rb:3:in `<top (required)>"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/gems/whenever-0.8.4/lib/whenever/capistrano.rb:1:in `require"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/gems/whenever-0.8.4/lib/whenever/capistrano.rb:1:in `<top (required)>"
/Users/xamenrax/code/application/Capfile:7:in `require"
/Users/xamenrax/code/application/Capfile:7:in `<top (required)>"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:22:in `load_rakefile"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/lib/capistrano/application.rb:12:in `run"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/gems/capistrano-3.0.1/bin/cap:3:in `<top (required)>"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `load"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/bin/cap:23:in `<main>"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval"
/Users/xamenrax/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<main>"
(See full trace by running task with --trace)
Отговори:
11 за отговор № 1когато ~> 0.9.0 реши този проблем
когато <0.9 не е съвместим с capistrano v3