Капистрано: кепка прервана! Не знаю, как собрать задачу «deploy:setup_config»

Я развертываю приложение Rails 4.0 на сервере ubuntu, используя capistrano 3.2.1, но получаю сообщение об ошибке, когда пытаюсь запустить команды capistrano.

cap aborted!
Don't know how to build task 'deploy:setup_config'

Это команды, которые я пробовал

cap production rvm:check
cap production deploy

Вот мой файл deploy.rb

lock '3.2.1'

set :application, 'app_name'
set :repo_url, '[email protected]:GITUSERNAME/REPO.git'

set :deploy_user, 'deploy'
set :use_sudo, false

set :ssh_options, {:forward_agent => true, :keys => %w(/home/USER/.ssh/id_rsa)}

# Default branch is :master
# ask :branch, proc { `git rev-parse --abbrev-ref HEAD`.chomp }.call

# Default deploy_to directory is /var/www/my_app
set :deploy_to, '/var/www/app_name'


 set :scm, :git
 set :scm_passphrase, ""

 set :format, :pretty
 set :log_level, :debug

set :linked_files, %w{config/database.yml}

set :linked_dirs, %w{bin log tmp/pids tmp/cache tmp/sockets vendor/bundle public/system}

 set :keep_releases, 5

set :tests, []
set(:config_files, %w(
  nginx.config
  database.example.yml
  ))

set(:symlinks, [
  {
    source: "nginx.conf",
    link: "etc/nginx/sites-enabled/#{fetch(:full_app_name)}"
  }
  ])


namespace :deploy do
  before :deploy, "deploy:check_revision"
  before :deploy, "deploy:run_tests"
  before 'deploy:setup_config', 'nginx:remove_default_vhost' 

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

  after 'deploy:smylink:shared', 'deploy:compile_assets_locally'
  after :finishing, 'deploy:cleanup'

  after 'deploy:setup_config', 'nginx:reload'
  after :publishing, :restart

  after :restart, :clear_cache do
    on roles(:web), in: :groups, limit: 3, wait: 10 do
      # Here we can do anything such as:
      # within release_path do
      #   execute :rake, 'cache:clear'
      # end
    end
  end

end

вот мой Capfile.rb

require 'capistrano/setup'
require 'capistrano/deploy'
require 'capistrano/rvm'
require 'capistrano/rails'
Dir.glob('lib/capistrano/tasks/*.rake').each { |r| import r }

production.rb

set :stage, :production
set :branch, "master"
set :full_app_name, "#{fetch(:application)}_#{fetch(:stage)}"
set :server_name, "SERVERURL"
set :rails_env, :production
role :app, %w{[email protected]}
role :web, %w{[email protected]}
role :db,  %w{[email protected]}
server 'SERVERURL', user: 'deploy', roles: %w{web app db}, primary: :true

Я знаю, что в capistrano 3 нет команды cap deploy:setup_config. Что я делаю не так?


person nancy    schedule 09.06.2014    source источник


Ответы (1)


Тебе нужно

 cap deploy:setup

нет

 cap deploy:setup_config

Ознакомьтесь с этим для больше информации

person maximus ツ    schedule 09.06.2014
comment
попробовал, но получил эту ошибку ** Стадия не задана, назовите что-нибудь вроде cap production deploy, где производство — это стадия, которую вы определили.** - person nancy; 09.06.2014
comment
они добавят это в свой deploy.rb set :stages, %w(testing staging production) set :default_stage, 'staging' - person maximus ツ; 09.06.2014
comment
OP имеет capistrano 3. Этот ответ подходит для Capistrano 2.x - person Saad Masood; 11.08.2014
comment
cap <stage_name> deploy, где ‹stage_name› — это имя файла в config/deploy/<stage_name.rb> - person Saad Masood; 11.08.2014
comment
не знаю, как собрать deploy:setup - person Arnold Roa; 08.03.2017