Capistrano не признает многоступенчатый этап - PullRequest
8 голосов
/ 04 октября 2011

Я пытаюсь получить многоступенчатое развертывание capistrano на своих производственных и промежуточных серверах. Вот мой deploy.rb файл (подробности scm опущены):

require 'bundler/capistrano'
require 'whenever/capistrano'

set :application, "myapp"

set :stages, %w{staging, production}
set :default_stage, "staging"
require 'capistrano/ext/multistage'

set :deploy_to, "/webapps/myapp"

set(:domain) { "#{domain}" }
role(:web) { domain }
role(:app) { domain }
role(:db, :primary => true) { domain }

default_run_options[:pty] = true

namespace :one do
    task :foo do
        puts "foo"
    end
end

А в config/deploy/production.rb:

set :domain, "production.com"
set :user, "prod"

config/deploy/staging.rb:

set :domain, "shootsystage.com"
set :user, "stage"

Ничего необычного не происходит (я думаю). Запуск cap production one:foo работает нормально. Но выполнение cap staging one:foo приводит к:

the task `staging' does not exist

Что происходит?

1 Ответ

11 голосов
/ 04 октября 2011

Похоже, маленький кусочек синтаксиса укусил меня в задницу.Должно быть:

set :stages, %w{staging production}

Обратите внимание на отсутствие запятых в %w{}.Ffffuuuuuuuuuuu ...

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