2015-07-28 3 views

ответ

0

Простейшее будет выполнить команду приведенную ниже

dokku run app_name rake tmp:clear 
+0

Как выполнить на каждое развертывание? – maiconsanson

+0

Если ваше развёртывание вручную, вам может потребоваться просто запустить это вручную. В противном случае добавьте эту строку в конец сценария развертывания. – abhishek77in

+0

@ abhishek77in Я не хочу запускать рейк вручную при каждом развертывании. Мой вопрос в том, где/как поставить команду rake, которая будет выполнена при развертывании? Я развертываю с простым «мастером производства git push». Может быть, добавить некоторые опции докеров? – maiconsanson

1

Сейчас я решил, используя Deploy крючок плагин для Докку: https://github.com/mlomnicki/dokku-deploy-hooks

с установленным плагином, создать файл с именем «развернуть/пост- развернуть "в корневом каталоге приложения. Внутри этого файла просто используйте ранее созданный грабли.

грабли файл:

# lib/tasks/clear-cache.rake 

namespace :cache do 
    desc 'Clear all Cache' 
    task clear: :environment do 
    Rails.cache.clear 
    puts "=========== > ALL CACHES WERE GONE!" 
    end 
end 

после развертывания файл:

# deploy/post-deploy 

rake cache:clear 

Теперь на каждом развернуть реки будут выполнены:

web| [12] * Preloading application 
worker| Cache clear: flushing all keys 
worker| Dalli::Server#connect 
worker| =========== > ALL CACHES WERE GONE! 
web| [12] * Listening on tcp://0.0.0.0:5000 
Смежные вопросы