Куда вы помещаете файлы конфигурации приложения при развертывании рельсов с помощью capistrano и svn?

StackOverflow https://stackoverflow.com/questions/705054

Вопрос

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

/app/config/database.yml

и

/app/config/userconfig.yml

я не хочу помещать учетные данные базы данных и конфигурацию пользователя в svn-репозиторий, поэтому у меня проверены data.yml.dist и userconfig.yml.dist.

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

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

Это было полезно?

Решение

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

/path/to/deployed_app/shared

Затем в задаче capistrano создайте символическую ссылку на эти файлы:

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"

Другие советы

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

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

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

Связанный: Capistrano - Как поместить файлы в общую папку?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top