Невозможно запустить cap deploy: setup на ec2, задача `deploy: setup 'не существует - PullRequest
5 голосов
/ 25 февраля 2012

Я установил ruby ​​(используя rvm), phusion passenger и все или требования.

Также на ec2 я получаю сообщение об успехе, когда я запускаю $ ssh -T git@github.com

Но когда я пытаюсь запустить -> $ cap deploy: setup, я получаю сообщение об ошибкезадача `deploy: setup 'не существует

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.

это мой 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,  "git@github.com: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

Ответы [ 5 ]

14 голосов
/ 14 июля 2012

Перейдите в каталог приложения и запустите:

capify .
2 голосов
/ 06 июня 2012

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

Вам нужно ввести команду cap в окно локального терминала.

1 голос
/ 14 августа 2013

Если вы включили

require 'capistrano/ext/multistage'

в вашем deploy.rb, правильная команда будет

cap production deploy:setup
0 голосов
/ 17 октября 2014

Права доступа к определенной папке были неправильными, chmod 700 помог.

0 голосов
/ 25 июля 2013

Capify работает, как указал user1524695, но на самом деле он ищет строку

load 'deploy'

, которая загружает встроенные задачи развертывания.Если вы выполняете стандартный скрипт Capistrano в стандартных местах (где config / deploy.rb и Capfile настроены относительно вашего рабочего каталога), Capfile загрузит config / deploy.rb, сгенерированный по умолчанию.Если по какой-либо причине вы запускаете скрипт в произвольном месте, просто добавьте эту строку в начало вашего скрипта, тогда

cap -f /path/to/myscript.rb deploy:setup

должно работать как положено, даже если каталог не Capified.

...