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 。