Capistrano многоступенчатые переменные - PullRequest
9 голосов
/ 09 ноября 2010

При использовании ext / multistage, почему переменные, заданные на этапе (production.rb), не доступны в deploy.rb?

В производстве.рб: set :domain, "domain.com"

В deploy.rb: set :vhost, "/var/www/#{domain}"

Но когда я пытаюсь бежать, он жалуется

undefined local variable or method `domain' for #<Capistrano::Configuration:0x00000100d07248> (NameError)

1 Ответ

15 голосов
/ 10 ноября 2010

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

set(:stage_domain) { "#{domain}" }
set(:vhost) { "/var/www/#{stage_domain}" }
set(:repo_dir) { "#{vhost}/repository" }
set(:deploy_to) { "#{repo_dir}" }
set(:httpdocs_link) { "#{deploy_to}" }
role(:web) { stage_domain }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...