rubygems.org guides 通译六(发布你的gem)
rubygems.org guides 翻译六(发布你的gem)
目录
1.简介
2.分享源码
3.自己的gem server
4.发布gem到rubygems.org
5.上传权限到rubygems.org
6.gem安全
一、简介
现在你已经创建了你自己的gem,你可能已经准备分享他了。在大型私有项目中可以使用私有gem来组织你的代码,更为常见的是在多项目中使用gem。这个文档介绍各种各样的方法,以便你分享你的gem到全世界。二、分享源码
最简单的方法(从作者角度)使你的gem可让其他开发者使用,那就是发布你得源代码。如果你把你的源码放到一个git仓库(例如github),其他人就可以使用 Bundler’s git functionality. 来安装它。例如,你可以安装最新的wicked_pdf gem,通过在Gemfile中加入:
gem "wicked_pdf", :git => "git://github.com/mileszs/wicked_pdf.git"从git仓库安装gem是Bundler的特色,而不是rubygems的特色。用这种方法安装的gem在使用gem list命令不会显示。
三、自己的gem server
如果你想控制谁有权限安装该gem,或者直接追踪gem的活跃度,那么你需要一个gem server。你可以自己设置 set up your own gem server 或者使用社区服务例如 Gemfury.RubyGems 2.2.0 and 更新支持
allowed_push_host元信息来限定gem发布到一台单独的主机。如果你需要发布私有gem,你应该设置他的值,防止他以外的发布到rubygems.org。
Gem::Specification.new 'my_gem', '1.0' do |s| # ... s.metadata['allowed_push_host'] = 'https://gems.my-company.example' end查看the Resources guide for an up-to-date listing of options for private gem servers.
四、发布gem到rubygems.org
共享你的gem 的最简单的方法就是发布你的gem到rubygems.org。发布到rubygems.org的gem可以通过gem install命令来安装,或者通过其他工具(solate or Bundler)。
首先,你需要创建一个rubygems.org的账户。访问the sign up page 并提供用户名,邮箱,密码。
账户创建之后,使用你的邮箱和密码来发布gem。rubyges.org把证书(credentials)放到~/.gem/credentials下,你登陆一次即可。
下面演示发布0.1.0的squid-utils的gem:
$ gem push squid-utils-0.1.0.gem Enter your RubyGems.org credentials. Don't have an account yet? Create one at https://rubygems.org/sign_up Email: gem_author@example Password: Signed in. Pushing gem to RubyGems.org... Successfully registered gem: squid-utils (0.1.0)恭喜,全世界都可以使用的gem了。
五、上传权限到rubygems.org
如果你的gem维护成员超过两个,那么你可以通过命令http://guides.rubygems.org/command-reference/#gem_owner为他们分配权限到rubygems.org
六、gem安全
请看 Security 。