Git Heroku和gems仅适用于生产环境
我有一个应用程序必须在三个不同的环境中运行,分别称为dev、beta和prod 我在heroku上创建了三个不同的应用程序,因此所有的环境都可以同时运行,并且我在需要时将代码从正确的git repo部署到正确的应用程序。我认为这是完全正常的情况:-) 我在git上有一个用于开发目的的分支,当我需要时,我分支一个beta版本以部署在beta上,当它准备好时,我部署在prod上并合并回主干,如下所示 我想将NewRelic监控系统作为Heroku附加组件添加到应用程序之一,即生产应用程序中。 要安装New Relic,您必须在Gemfile中包含一个gem,因此我只需要在生产Gemfile中包含gem 鉴于Heroku上的当前堆栈不支持Gemfile中的组,我如何实现这一目标?在投入生产之前,我是否必须手动管理每个gem文件 编辑 为了更好地证明我的尝试,也许我遗漏了一些明显的东西: 我补充说Git Heroku和gems仅适用于生产环境,git,heroku,production-environment,gemfile,Git,Heroku,Production Environment,Gemfile,我有一个应用程序必须在三个不同的环境中运行,分别称为dev、beta和prod 我在heroku上创建了三个不同的应用程序,因此所有的环境都可以同时运行,并且我在需要时将代码从正确的git repo部署到正确的应用程序。我认为这是完全正常的情况:-) 我在git上有一个用于开发目的的分支,当我需要时,我分支一个beta版本以部署在beta上,当它准备好时,我部署在prod上并合并回主干,如下所示 我想将NewRelic监控系统作为Heroku附加组件添加到应用程序之一,即生产应用程序中。 要安装
group :production do
gem 'newrelic_rpm'
end
归档。
我的开发环境将RACK_ENV和RAILS_ENV设置为development,当我推到heroku时,应用程序将与newrelic gem一起部署
假设Heroku上的当前堆栈不支持
档案
我认为这不是一个准确的说法
group :production do
gem 'some_production_gem'
end
将只在生产环境中安装一些生产gem
。为单独的应用程序使用RACK_ENV
和RAILS_ENV
ENV vars来管理它。如果在Heroku环境变量中指定了RAILS\u ENV:staging
,我相信group:staging
也会起到同样的作用
- (特别是管理暂存和生产配置)
来自
如果要在cedar上使用不带
的BUNDLE\u,则需要启用user env compile
功能标志。启用功能标志后,您可以使用BUNDLE\u而不使用
config var:
$ heroku config:set BUNDLE_WITHOUT="development:test"
从
要启用该功能,请执行以下操作:
$ heroku labs:enable user-env-compile -a myapp
Heroku安全部门的说明:
不鼓励使用user env compile
功能,因为它会将配置变量以明文形式写入slug。感谢您的回复,但正如我在“请注意-目前,Cedar堆栈不支持BUNDLE_WITHOUT”中所发现的那样。因此,如果我用group语句指定gem,这一点都不重要,heroku也会在我的开发或登台或任何环境中带来gem。我尝试使用New Relic,开发环境中的应用程序立即被仔细监视:-)。但也许我错过了什么。。。