ved*_*ant 3 capistrano ruby-on-rails push-notification
我已经设置了我的rails应用程序与rpush一起使用.它在开发中使用时在本地工作正常rpush start.但是现在我想使用capistrano- 2.15.5将它部署到我的EC2服务器上.
我的一部分deploy.rb:
after "deploy:stop", "delayed_job:stop"
after "deploy:stop", "rpush:stop"
after "deploy:start", "delayed_job:start"
after "deploy:start", "rpush:start"
after "deploy:restart", "delayed_job:restart"
after "deploy:restart", "rpush:restart"
namespace :rpush do
%w[start stop restart].each do |command|
desc "#{command} rpush deamon"
task command, roles: :app, except: {no_release: true} do
run "cd #{deploy_to}/current && bundle exec rpush #{command}"
end
end
end
Run Code Online (Sandbox Code Playgroud)
现在,问题
/currentdir还是/shareddir中.它应该在共享中,以便文件在部署之间保持不变如果有人这样做(即使以不同的方式),请告诉我如何.
或者,我怎样才能修复我的帽子食谱 /initializers/rpush
对于Capistrano 3:
after :finished, :restart_rpush do
on roles(:web) do
within release_path do
with rails_env: fetch(:rails_env) do
execute :bundle, :exec, "rpush stop -e #{fetch(:rails_env)}"
execute :bundle, :exec, "rpush start -e #{fetch(:rails_env)}"
end
end
end
end
Run Code Online (Sandbox Code Playgroud)
然后检查tmp是否正确链接了其他目录:
set :linked_dirs, %w{log tmp/pids tmp/cache tmp/sockets vendor/bundle public/uploads}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1593 次 |
| 最近记录: |