Развертывание с использованием Capistrano - запускается только для соответствующих серверов - PullRequest
10 голосов
/ 05 апреля 2011

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

`deploy: setup 'запускается только для серверов, соответствующих {: кроме => {: no_release => true}}, но не найдено ни одного сервера

При выполнении этой команды:

bundle exec cap deploy:setup

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

set :application, "example.com"
set :repository, "git@github.com:username/repo.git"
set :use_sudo, false
set :scm, :git
set :web, application
set :app, application
set :db, application
set :branch, "master"
set :user, "webmaster"
set :deploy_to,  "/opt/www/#{application}"
set :deploy_via, :remote_cache
set :domain, application
set :port, 2222

set :bundler_cmd, "bundle install --deployment --without=development,test"
ssh_options[:paranoid] = false

namespace :deploy do
  task :start do ; end
  task :stop do ; end

  task :restart_stalker do
    run "cd #{deploy_to}/current && thor stalker:kill && stalker:init"
  end

  task :restart, :roles => :app, :except => { :no_release => true } do
    run "cd #{deploy_to}/current && touch tmp/restart.txt"
  end

  after "bundler_cmd", "deploy:restart_stalker"
end

Яиспользуя Rails 3.

Ответы [ 4 ]

9 голосов
/ 06 апреля 2011

Вам нужно определить некоторые роли.Например:

role :app, 'myapphostname'
role :web, 'mywebhostname'

Кажется, вы использовали "set" вместо "role", но вы должны подтвердить это перед внесением изменений.

3 голосов
/ 11 июня 2013

Большинство людей, вероятно, используют многоступенчатый с capistrano, поэтому вы не должны помещать свои роли в deploy.rb, поэтому, если вы добавили специфичные для среды роли в config / deploy / # env_name.rb, то обязательно добавьте их в ваш config /deploy.rb

set :stages, %w(#env_name1, #env_name2...)
require 'capistrano/ext/multistage'

и убедитесь, что установлен камень capistrano-ext.

1 голос
/ 05 апреля 2011

Похоже, вы уже настроили свой сервер с bundle exec cap deploy:setup.

Если это так, вы должны запустить bundle exec cap deploy.

0 голосов
/ 23 августа 2016

Я собираюсь оставить здесь ответ, который помог мне, что когда ни один из предложенных ответов здесь или в другом месте не мог помочь мне - я потратил дни на изучение этой проблемы, прежде чем нашел решение.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...