Как я могу развернуть, но не символическую ссылку / перезапустить, используя 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 - это то, что меняет символические ссылки. Таким образом, опуская все впоследствии, вы получаете то, что ищете.

Другие вопросы по тегам