Как я могу развернуть, но не символическую ссылку / перезапустить, используя Capistrano 3?
Capistrano v2 имел две полезные задачи: cap deploy:update_code
сделает полное развертывание на новый releases/
каталог, но не меняйте current
символическая ссылка или запуск / перезапуск сервера (чтобы сервер продолжал работать с текущей версией без перерыва). А также cap deploy:update
сделал то же самое, плюс изменив current
символическая ссылка, но не запускается / перезапускает сервер. Они были полезны для устранения проблем, например, при компиляции ресурсов, перед тем как приступить к реальному развертыванию.
Эти две задачи "обновления" исчезли в Capistrano v3. Существует ли эквивалентный способ полного развертывания без изменения current
символическая ссылка или перезапуск сервера?
1 ответ
Пользовательский список задач это должен сделать это:
task :deploy_without_symlink do
set(:deploying, true)
%w{ starting started
updating updated }.each do |task|
invoke "deploy:#{task}"
end
end
Вы можете посмотреть код здесь: https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/framework.rake#L58 чтобы увидеть, что инициирует развертывание. А задача публикации согласно https://github.com/capistrano/capistrano/blob/master/lib/capistrano/tasks/deploy.rake#L38 - это то, что меняет символические ссылки. Таким образом, опуская все впоследствии, вы получаете то, что ищете.