如何从私有存储库中使用gem?

时间:2014-06-25 18:51:26

标签: ruby-on-rails ruby github rubygems token

如何在CI服务器上提取私有宝石?

我有使用来自私有GitHub存储库的gem的rails项目,但我无法在构建服务器上克隆它。

到目前为止,我发现https://github.com/blog/1270-easier-builds-and-deployments-using-git-over-https-and-oauth只有在我为Gemfile生成令牌时才能完美。

gem 'my_private_gem', git: 'https://MISSING_TOKEN:x-oauth-basic@github.com/USER_NAME/REPOSITORY', require: 'my_private_gem', branch: 'master'

那么如何为此生成令牌呢?当我创建GitHub应用程序时,我只会获得client_idclient_secret

2 个答案:

答案 0 :(得分:3)

好的,最后我得到了解决方案。

  • 转到GitHub
  • 打开Account Settings
  • 选择Applications,然后选择Generate new token
  • 在设置环境变量的任何地方设置此令牌
  • 添加到您的gemfile:gem 'your_gem', git: "https://#{ENV['AUTH_TOKEN']}:x-oauth-basic@github.com/YourAccount/YourRepo", require: 'your_gem', branch: 'master'

这就是全部!

答案 1 :(得分:0)

这可能不是您的选择,但是如果您将机器的ssh密钥注册到您的Github帐户,则可以在gemfile中执行以下操作:

gem :your_gem, github: "your_username/your_repository"