简体   繁体   中英

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

I'm deploying a Rails 4.0 app to an ubuntu server using capistrano 3.2.1 but I'm getting the error when I try running capistrano commands.

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

This are the commands I have tried

cap production rvm:check
cap production deploy

Here is my deploy.rb file

lock '3.2.1'

set :application, 'app_name'
set :repo_url, 'git@github.com: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

here is my 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{deploy@example.com}
role :web, %w{deploy@example.com}
role :db,  %w{deploy@example.com}
server 'SERVERURL', user: 'deploy', roles: %w{web app db}, primary: :true

I know there is no cap deploy:setup_config command in capistrano 3. What am I not doing right?

You need

 cap deploy:setup

not

 cap deploy:setup_config

Checkout this for more info

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM