如何部署基于RubyGem的服务器

时间:2008-11-16 04:35:40

标签: ruby deployment rubygems

我们在ruby中构建了一个自定义套接字服务器并将其打包为gem。由于这是一个内部项目,我们不能简单地将它发布到RubyForge或GitHub。我试图设置我们自己的gem服务器,但gem不会通过https进行身份验证。我们的其他部署适用于使用capistrano和svn进行部署的标准rails应用程序。

我们当前的设置是使用带有capistrano的类似轨道的部署。它执行以下操作:

  • 查看svn
  • 中的代码
  • 构建宝石
  • 安装宝石
  • 重新启动服务器

这看起来很尴尬,并且使得宝石包装看起来像是额外的工作 - 但在部署问题之外,它非常适合作为宝石。

有更清洁的方法吗?

3 个答案:

答案 0 :(得分:2)

您可以从本地文件系统安装gem。

gem install /path/to/some.gem

使用它编写脚本或使用NFS挂载等等,不应该太难。

答案 1 :(得分:2)

开始

gem server #That will serve all your local installed gems.

gem install YourLocalPkg1.X.X.gem

#on YourHost

使用

gem sources --add localhost:8808
gem install YourGem

在客户端计算机上 发展一些事情

rake gem
gem install YourLocalPkg2.X.X.gem #on YourHost

使用

gem update YourGem #on client machine

也许您需要使用https,但我不明白为什么在您的帖子中。 在一些机器上

* Check out the code from svn #the railspart not in the gem
* gem update  YourGem #  or install if not exist....
* Restart the server

答案 2 :(得分:0)

gem install --local path_to_gem / filename.gem会有所帮助。或者,您可以在Web服务器上获得可信证书。

您可以使用gem install -P NoSecurity或-P LowSecurity从服务器安装,但我没有尝试过。

http://www.rubygems.org/read/chapter/21