我有两个项目在各自的私有 GitHub 存储库中进行版本控制。
其中一个是 Rails 应用程序,另一个是 Rails 引擎。
我不想将 Rails 引擎作为公共 gem 公开。
如何以 Heroku 可以解决的方式声明我的 Rails 应用程序依赖于引擎?
我有两个项目在各自的私有 GitHub 存储库中进行版本控制。
其中一个是 Rails 应用程序,另一个是 Rails 引擎。
我不想将 Rails 引擎作为公共 gem 公开。
如何以 Heroku 可以解决的方式声明我的 Rails 应用程序依赖于引擎?
您可以使用像Gemfury这样的私有 gem 服务器。它也是一个 Heroku 插件(免费计划适合您的情况)。
这样您就可以发布 gem 的版本。工作起来很像 rubygems,但是是私有的。
假设您的引擎是私有 Github 存储库中的 gem,您可以尝试这种使用 OAuth 令牌的方法:
https://gist.github.com/masonforest/4048732
如评论中所述,涉及在 Gemfile 中硬编码 OAuth 令牌值的版本不如使用环境变量安全。
您可以通过将源放在vendor
文件夹中来供应您的引擎,然后通过以下方式在您的Gemfile
参考中path
:
# Gemfile
gem 'some_engine', path: 'vendor/some_engine'
要么直接复制粘贴源代码,要么使用 Git 子模块。运行bundle install
,你应该设置。