【发布时间】:2016-12-13 00:00:58
【问题描述】:
我想在我的 Ruby 项目中使用托管的私有 gem。这个 gem 托管在 GitLab 上。
所以我需要有关在我的 Ruby Gemfile 中添加什么以“导入”这个私有托管的 gem 的帮助。
我可以使用来自 GitHub 或 Gemfury 的私有 gem,但需要 GitLab 方面的帮助。
【问题讨论】:
标签: ruby rubygems gitlab gemfile
我想在我的 Ruby 项目中使用托管的私有 gem。这个 gem 托管在 GitLab 上。
所以我需要有关在我的 Ruby Gemfile 中添加什么以“导入”这个私有托管的 gem 的帮助。
我可以使用来自 GitHub 或 Gemfury 的私有 gem,但需要 GitLab 方面的帮助。
【问题讨论】:
标签: ruby rubygems gitlab gemfile
要在 gitlab 上使用私有托管 gem,您需要创建一个 access token,它应该具有 api 访问权限。然后,在您设置 ENV 后,您可以将以下内容添加到您的 gemfile:
gem 'mygem', git: "https://oauth2:#{ENV['GITLAB_TOKEN']}@gitlab.com/mygroup/mygem.git"
我不会将我的 gitlab 用户名和密码放在我的 gemfile 中,因为这样它们就存在于你的源代码中,供所有有权查看它们的人使用。请务必注意,如果您使用此方法,您的 oauth 令牌将打印在您的 Gemfile.lock 中。
【讨论】:
是的,您可以从 git 实验室添加 gem。 您需要在 gem 的 url 部分传递用户名和密码。
例子:
gem 'gem_name', 'version', :git => "http://<username>:<password>@myprivate_gitlab_host/private_gems/my_great_gem.git"
看这里Is it possible to install gem from private gitlab host from Heroku
【讨论】: