How to create a new environment in Ruby on Rails?

后端 未结 4 1077
伪装坚强ぢ
伪装坚强ぢ 2020-12-08 01:45

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

相关标签:
4条回答
  • 2020-12-08 02:29

    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.

    0 讨论(0)
  • 2020-12-08 02:33

    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.

    0 讨论(0)
  • 2020-12-08 02:42

    Assuming you want create the hudson environment.

    1. Create a new environment file in config/environments/hudson.rb. You can start by cloning an existing one, for instance config/environments/test.rb.
    2. Add a new configuration block in config/database.yml for your environment.
    3. Update any other configuration file you might have under the config folder with your new environment, some gems create their own ymls under the config folder.
    4. That's all.

    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
    
    0 讨论(0)
  • 2020-12-08 02:43

    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!

    0 讨论(0)
提交回复
热议问题