我是RoR的新手。我的gem执行一些后台处理并加载瘦服务器,以便可以不时检查它。我需要使用Capistrano将它放在我的Web服务器上。
人们通常会将宝石部署到他们的服务器上,还是应该以其他方式编写应用程序?
Capistrano也是部署宝石的正确方法吗?
答案 0 :(得分:0)
您之前检查过Bundler吗?这与capistrano部署非常有效,您可以在部署时使用您的应用程序打包宝石。
答案 1 :(得分:0)
或者您可以使用宝石珠宝商:https://github.com/technicalpickles/jeweler
答案 2 :(得分:0)
我发现部署自定义Gem与任何其他项目类型没有什么不同。我只需要在我的deploy.rb
文件中添加一个新的Capistrano任务,以便在文件被Capsitrano下载到服务器后安装gem。这就是我必须做的一切。
desc "Install this gem"
task :setup_install, roles: :app do
run "cd #{release_path} && gem build zoe.gemspec"
run "cd #{release_path} && gem install YOUR-GEM-NAME.gem --quiet"
end
after "deploy:finalize_update", "deploy:setup_install"
desc "Uninstall this gem"
task :setup_uninstall, roles: :app do
run "gem uninstall -x YOUR-GEM-NAME"
end
before "deploy:setup_install", "deploy:setup_uninstall"