Как отправить переменную между Capistrano и Rails? - PullRequest
0 голосов
/ 25 января 2011

У меня есть приложение Rails, развернутое с Capistrano, и в нашей среде Acceptance я хочу задать заголовок страницы, чтобы включить ветвь, которая развернута в настоящее время.

Ветвь настроена на развертывание через Capistrano, и я бынравится как-то переносить эту информацию из Cap в Rails.

Очевидно, что я могу заставить Cap записать имя ветви в файл и прочитать его обратно в Rails, но я надеюсь, что есть лучшее решение.

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

Есть предложения?

Ответы [ 2 ]

0 голосов
/ 26 января 2011

Вот способ, которому даже не нужен Capistrano, хотя для этого нужен git.Прочитайте имя ветви, записав результат выполнения команды git в инициализаторе Rails:

# config/initializers/set_title.rb
module MyConfig
  TITLE = `git symbolic-ref HEAD`.chomp.split("/").last
end

Затем просто обратитесь к константе в вашем шаблоне:

<title><%= MyConfig::TITLE %></title>
0 голосов
/ 26 января 2011

Очевидно, я могу заставить Кэпа написать Выделите имя файла и прочитайте его обратно в Rails

Это лучший способ, ИМО

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