Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unable to run cap deploy:setup on ec2, the task `deploy:setup' does not exist

I have installed ruby (using rvm), phusion passenger, & all or requirements.

Also on ec2 I get success message when I run $ ssh -T [email protected]

But when i try to run -> $cap deploy:setup, I get an error message the task `deploy:setup' does not exist

cap -vT

➜  bridge1 git:(master) cap -vT
cap bundle:install # Install the current Bundler environment.
cap deploy:restart # 
cap deploy:start   # 
cap deploy:stop    # 
cap invoke         # Invoke a single command on the remote servers.
cap shell          # Begin an interactive Capistrano session.

Extended help may be available for these tasks.
Type `cap -e taskname' to view it.

this is my deploy.rb

require 'bundler/capistrano'
#using  RVM!
$:.unshift("#{ENV["HOME"]}/.rvm/lib")
require "rvm/capistrano"
set :rvm_type, :user


set :application, "capi_app"
set :deploy_to, "/var/www/#{application}"

role :web, "184.169.135.60"                          # Your HTTP server, Apache/etc
role :app, "184.169.135.60"                         # This may be the same as your `Web` server
role :db,  "184.169.135.60", :primary => true # This is where Rails migrations will run


default_run_options[:pty] =  true
set :repository,  "[email protected]:jaipratik/gibridge1.git"
set :scm, :git
set :branch, "master"


set :user, "ubuntu"            
set :use_sudo, false
set :admin_runner, "ubuntu"

set :rails_env, 'production'     
#set :use_sudo, false   #if error delete this


# If you are using Passenger mod_rails uncomment this:
namespace :deploy do
  task :start do ; end
  task :stop do ; end
  task :restart, :roles => :app, :except => { :no_release => true } do
    run "#{try_sudo} touch #{File.join(current_path,'tmp','restart.txt')}"
  end
end

Gemfile

source 'https://rubygems.org'

gem 'rails', '3.2.1'

# Bundle edge Rails instead:
# gem 'rails', :git => 'git://github.com/rails/rails.git'

gem 'sqlite3'


# Gems used only for assets and not required
# in production environments by default.
group :assets do
  gem 'sass-rails',   '~> 3.2.3'
  gem 'coffee-rails', '~> 3.2.1'

  # See https://github.com/sstephenson/execjs#readme for more supported runtimes
  # gem 'therubyracer'

  gem 'uglifier', '>= 1.0.3'
end

gem 'jquery-rails'

# To use ActiveModel has_secure_password
# gem 'bcrypt-ruby', '~> 3.0.0'

# To use Jbuilder templates for JSON
# gem 'jbuilder'

# Use unicorn as the web server
# gem 'unicorn'

# Deploy with Capistrano
 gem 'capistrano'

# To use debugger
# gem 'ruby-debug19', :require => 'ruby-debug'


group :test do
  # Pretty printed test output
  gem 'turn', :require => false
end


group :production do
  gem 'therubyracer'
end
like image 215
JP. Avatar asked Feb 25 '12 19:02

JP.


3 Answers

Go to your application directory and run:

capify .
like image 160
alangalvino Avatar answered Nov 08 '22 14:11

alangalvino


This just happenned to me, I was mistakenly typing the command into the terminal window that was connected to the vps server and getting the same error: the task deploy:update does not exist.

You need to type the cap command into your local terminal window.

like image 32
railsy Avatar answered Nov 08 '22 13:11

railsy


If you have enabled

require 'capistrano/ext/multistage'

in your deploy.rb, the correct command would be

cap production deploy:setup
like image 1
Linus Avatar answered Nov 08 '22 13:11

Linus