2015-11-17 3 views
0

Я унаследовал проект Rails, и я не могу его развернуть с помощью прилагаемых инструкций, используя Capistrano. Я вообще не знаком с капистрано.Capistrano 3.4 Проблемы с развертыванием

Что бы я ни стараюсь, я всегда получаю следующее сообщение об ошибке

(Backtrace restricted to imported tasks) 
cap aborted! 
ArgumentError: wrong number of arguments (1 for 2) 

Tasks: TOP => production 
(See full trace by running task with --trace) 

Это включает в себя

$ bundle exec cap -T 

$ bundle exec cap production deploy 

Я следую руководству здесь https://github.com/capistrano/capistrano

Я снялся из важной информации, но здесь копия config/deploy/staging.rb

role :app, %w{[email protected]**.**.**.**:****} 
role :web, %w{[email protected]**.**.**.**:****} 
role :db, %w{[email protected]**.**.**.**:****} 

set :branch, 'develop' 
set :deploy_to, '/var/www/soreen.staged.ws' 

set :ssh_options, { 
    keepalive: true, 
    keepalive_interval: 60 #seconds 
} 

и здесь Capfile

# Load DSL and Setup Up Stages 
require 'capistrano/setup' 

# Includes default deployment tasks 
require 'capistrano/deploy' 

require 'capistrano/rbenv' 
require 'capistrano/bundler' 
require 'capistrano/rails/migrations' 
require 'capistrano/rails/assets' 
require 'capistrano/rails/collection' 

# Loads custom tasks from `lib/capistrano/tasks' if you have any defined. 
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r } 

и вот конфиг/deploy.rb

# config valid only for current version of Capistrano 
lock '3.4.0' 

set :application, 'Soreen' 
set :repo_url => "****************" 

set :linked_dirs, fetch(:linked_dirs, []).push('log', 'tmp/pids', 'tmp/cache', 'tmp/sockets', 'vendor/bundle', 'public/system') 

set :rbenv_type, :user # or :system, depends on your rbenv setup 
set :rbenv_ruby, '2.1.2' 
set :rbenv_prefix, "RBENV_ROOT=#{fetch(:rbenv_path)} RBENV_VERSION=# {fetch(:rbenv_ruby)} #{fetch(:rbenv_path)}/bin/rbenv exec" 
set :rbenv_map_bins, %w{rake gem bundle ruby rails} 
set :rbenv_roles, :all # default value 

namespace :deploy do 

    desc 'Restart application' 
    task :restart do 
on roles(:app), in: :sequence, wait: 5 do 
     # Your restart mechanism here, for example: 
     execute :mkdir, '-p', "#{ release_path }/tmp" 
     execute :touch, release_path.join('tmp/restart.txt') 
    end 
    end 

    after :publishing, :restart 

    after :restart, :clear_cache do 
    on roles(:web), in: :groups, limit: 3, wait: 10 do 

    end 
    end 

end 

Пожалуйста, помогите!

+0

Вы попробовали запустить только 'cap production deploy' (из корневого каталога приложения)? – martincarlin87

+0

Да, спасибо. Я получаю ту же ошибку. – 32423hjh32423

ответ

1

Вы можете получить трассировку для ошибки, используя следующее:

bundle exec cap --backtrace -T 

Это даст вам больше информации. Вероятно, это синтаксическая ошибка в вашей конфигурации.

Смежные вопросы