Где вы размещаете свои app-config-файлы при развертывании рельсов с помощью capistrano и svn - PullRequest
7 голосов
/ 01 апреля 2009

У меня есть два конфигурационных файла

/app/config/database.yml

и

/app/config/userconfig.yml

Я не хочу помещать учетные данные базы данных и userconfig в svn-репозиторий, поэтому я зарегистрировал базы данных database.yml.dist и userconfig.yml.dist.

Каков наилучший способ получить копии dist-файлов в общем каталоге при первом развертывании приложения?

Для последующих развертываний я буду ссылаться на них из / app / current / config

Ответы [ 2 ]

11 голосов
/ 01 апреля 2009

Вы должны поместить свои конфигурационные файлы в

/path/to/deployed_app/shared

Затем в задании capistrano, sym ссылка на эти файлы:

namespace :deploy do
  task :symlink_shared do
    run "ln -s #{shared_path}/database.yml #{release_path}/config/"
  end
end

before "deploy:restart", "deploy:symlink_shared"
1 голос
/ 10 апреля 2014

В Capistrano v3 вы можете использовать задачу под названием deploy:symlink:shared.

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

set :linked_files, %w{
  app/config/database.yml
  app/config/userconfig.yml
}

Похожие: Capistrano - Как поместить файлы в общую папку?

...