I\'m trying to create a new environment (build) for using it with hudson.
I\'m doing this because I didn\'t want to mix up my test databases with hudson test databas
If you're using webpacker in your Rails 5 app, also make sure to update your config/webpacker.yml
. If you forget to add your new environment to config/webpacker.yml
, it will just fall back to using your production config.
Updated Answer for Rails 5
Create new environment file:
config/environments/staging.rb
Modify the following files to add the environment key 'staging'
config/cable.yml
config/database.yml
config/secrets.yml
Gemfile (incase you have stage dependent gems)
The new environments can now be used as usual for eg:
rails server -e staging
rails console staging
Or to do conditional checks:
rails console staging, Rails.env.staging?
Good place to start for creating new environment and to modify these files is to copy production settings.
Assuming you want create the hudson
environment.
config/environments/hudson.rb
. You can start by cloning an existing one, for instance config/environments/test.rb
.config/database.yml
for your environment.config
folder with your new environment, some gems create their own ymls
under the config
folder.Now you can start the server
rails server -e hudson
or run the console
rails console hudson
And so on.
If you are using an older version of Rails, the commands are
ruby script/server -e hudson
ruby script/console hudson
Create a file config/environments/build.rb
which will contain the options specific to your environment.
Add your new environment's database credentials in config/database.yml
.
Rock and roll!