My experience includes having to whitelabel my whole application, putting 
it under a new domain name, with a small subset of configuration options 
changing for each deployment.  This has led to me having environments for 
client acceptance, staging, along for each whitelabel.  Managing all these 
configurations cannot be done manually, nor does it make sense (to me 
anyway) for this to be in some other repo since all the application servers 
can handle traffic for all whitelabels.

>From this I have created a config/environments/_base.rb that gets included 
at the top of all non-development environment files then additional 
configuration below.  Thusly:

load Rails.root.join('config', 'environments', '_base.rb')
YourApp::Application.configure do
  # environment specific config
end

This has made my configurations much more DRY with each environment now 
only requiring 3 or 4 lines of specific config, like staging having debug 
level logging :D

I haven't thought about how to make this more "standardized" but perhaps 
with such a pattern it makes it easier to bake-in how one scales out to the 
next stage(s) of formality with acceptance and staging before live release.

-- 
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Core" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/rubyonrails-core/-/rd0ONgjBoCMJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-core?hl=en.

Reply via email to