Этот ответ испытывается Capistrano 3.6.1
Ну, в таком случае, вы должны сделать capistrano
загрузить ваш application.yml
(database.yml
если его игнорировали от git
).
# in config/deploy.rb
# Default value for :linked_files is []
append :linked_files, 'config/database.yml', 'config/application.yml'
Теперь напишем код для загрузки файлов на сервер
# lib/capistrano/tasks/uploader.rake
namespace :upload do
desc 'Upload shared files to the server'
task :yml_files do
on roles(:web) do |host|
fetch(:linked_files).each do |common_file|
upload! common_file, "#{fetch(:deploy_to)}/shared/#{common_file}"
end
end
end
end
Теперь вам нужно вызвать указанное выше capistrano
задачу как раз перед очень конкретным событием.
# config/deploy.rb
before 'deploy:check:linked_files', 'upload:yml_files'
Это позволит убедиться, что необходимые переменные окружения установлены до того, как развернутые попытки загружают ваше приложение на рабочем сервере.
Вы используете 'capistrano' в качестве инструмента развертывания? – illusionist
@illusionist, да я – Toontje