Куда вы помещаете файлы конфигурации приложения при развертывании рельсов с помощью capistrano и svn?
-
22-08-2019 - |
Вопрос
У меня есть два конфигурационных файла
/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
}