我是 RoR 的新手。我的 gem 进行了一些后台处理并加载了一个瘦服务器,因此可以不时对其进行检查。我需要使用 Capistrano 将它放在我的网络服务器上。
人们通常会将 gem 部署到他们的服务器上还是应该以其他方式编写应用程序?
Capistrano 也是部署 gem 的正确方法吗?
我是 RoR 的新手。我的 gem 进行了一些后台处理并加载了一个瘦服务器,因此可以不时对其进行检查。我需要使用 Capistrano 将它放在我的网络服务器上。
人们通常会将 gem 部署到他们的服务器上还是应该以其他方式编写应用程序?
Capistrano 也是部署 gem 的正确方法吗?
或者您可以使用宝石珠宝商:https ://github.com/technicalpickles/jeweler
你以前检查过Bundler吗?这对 capistrano 部署非常有效,您可以使用在部署时将 gem 与您的应用程序打包在一起。
我发现部署自定义 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"