Ich habe auf Heroku Remotes für Produktion und Staging eingerichtet.Was ist die richtige Methode, um eine Staging-Gruppe zu My Gemfile hinzuzufügen
Auf Inszenierung habe ich die App ENVs gesetzt ist:
RACK_ENV=staging
RAILS_ENV=staging
ich eine staging
Gruppe in die Lage sein möchte in ich zur Zeit meines Gemfile
in der gleichen Art und Weise angeben production
verwenden kann, test
oder assets
:
group :staging do
gem "example", "~> 0.9"
end
Ich verstehe, wie Sie benutzerdefinierte Gruppen hinzufügen. Aus meiner application.rb
:
groups = {
assets: %w(development test)
}
Bundler.require(:security, :model, :view, *Rails.groups(groups))
Aber wie kann ich eine Gruppe, die nur in der Inszenierung geladen wird?
ich ohne Erfolg versucht haben:
# Gemfile
group :staging do
gem 'example','~>1.0'
end
ein Umfeld schaffen, das für die Inszenierung
# /config/environments/staging.rb
...
copy config/environments/production.rb code here with adjustments as needed
...
Der Grund:
groups = {
assets: %w(development test),
staging: %(staging)
}
Bundler.require(:security, :model, :view, *Rails.groups(groups))
Ein bisschen off topic lesen, aber was ist der Vorteil eines separaten gemfile des Habens für vs Produktion inszenieren? Soll die Staging-Umgebung die Produktion nicht so genau wie möglich nachahmen? – tyler
@tyler. Ich möchte einige Logging/Debugging-Ausrüstung auf Staging, die ich nicht auf Produktion möchte. – Undistraction
@Pedr vielleicht lösen dieses Problem durch die Verwendung der Produktionsgruppe, aber mit '' 'require: false''', um diese Logging-Ausrüstung bei der Ausführung nicht zu erfordern. Und in staing.rb Config platzieren implizit erfordern dieses Zahnrad, um es zu aktivieren. – Waterlink