Отдельный файл Symlink через Moonshine и / или Capistrano на производственном сервере - PullRequest
1 голос
/ 12 мая 2011

Мое приложение настроено с помощью Moonshine, который настраивает сервер, а затем использует Capistrano для развертывания. Тем не менее, есть некоторые файлы и каталоги, которые не управляются исходным кодом, которые не должны удаляться при новом развертывании, и при этом они не должны сходить с моей машины разработки.

В файле config / moonshine.yml Moonshine есть область: app_symlinks, где создаются символические ссылки на общую папку на производстве. Это прекрасно работает для определенных каталогов внутри общедоступной папки (например, 'system') ... однако мне нужно сделать то же самое для отдельных файлов. Например, файл sitemap.xml, который автоматически создается на основе базы данных на производстве. Или файл .htaccess.

Я пытался поместить отдельные файлы под: app_symlinks, но это не сработало. Есть ли способ в Moonshine для символической ссылки отдельных файлов? Или, в качестве альтернативы, способ сделать это в Capistrano (как тот, который Moonshine использует для развертывания в любом случае).

1 Ответ

2 голосов
/ 12 мая 2011

Вы можете сделать следующее в вашем deploy.rb:

desc "Link the file"
task :link_file do
  run "ln -nfs #{deploy_to}/shared/files/myfile #{release_path}/myfile"
end

и затем добавьте эту задачу в: after "deploy", :link_file

Конечно, вам нужно создать каталог /shared/files вручную, только один раз.

...