是否可以从Heroku的私有gitlab主机安装gem

时间:2014-03-24 05:38:14

标签: ruby heroku rubygems gitlab

我有一个私有gitlab主机,它托管私有代码和项目,我在heroku中托管我的应用程序,在那个heroku应用程序中,我们使用Gemfile来管理那个heroku app的依赖,其中一个依赖来自私有gitlab主机。所以我的Gemfile是这样的:

gem 'my_greate_gem', '0.0.1', :git => "http://myprivate_gitlab_host/private_gems/my_great_gem.git"

似乎没有任何关于使用私有gitlab主机在Heroku中托管gem的教程,但我真的不想使用gemfury。对此有什么可行的解决方案吗?

2 个答案:

答案 0 :(得分:4)

如果不使用Gemfury,您必须在gem依赖关系的URL中传递用户名和密码

 gem 'my_greate_gem', '0.0.1', :git => "http://<username>:<password>@myprivate_gitlab_host/private_gems/my_great_gem.git"

答案 1 :(得分:2)

另一个答案对我不起作用。另外,我更喜欢一种允许我将凭据保留在源外的方法。我将以下内容放入我的gemfile中:

gem 'mygem', git: "https://oauth2:#{ENV['GITLAB_TOKEN']}@gitlab.com/mygroup/mygem.git"

我创建的gitlab令牌具有API访问权限。如果我在设置中的环境变量中手动设置GITLAB_TOKEN,则对heroku来说这是可行的。

希望有帮助。