Как получить среду AWS в приложении rails для условной функциональности - PullRequest
0 голосов
/ 15 апреля 2020

В моем приложении rails я хочу отличить две среды AWS: песочницу и рабочую среду.

Как проверить и подтвердить, в какой среде AWS находится приложение, чтобы применять различные функции между окружения?

Можно ли использовать что-то вроде ENV['AWS_ENV'] == 'sandbox'?

Команда разработчиков Devops использует Jenkins для запуска.

1 Ответ

0 голосов
/ 15 апреля 2020

В Rails вы можете создавать любое количество дополнительных сред. Среда Rails по своей сути является не чем иным, как строкой, передаваемой через переменную окружения RAILS_ENV, которая заставляет rails загружать отдельный набор файлов конфигурации.

Учитывая ENV['RAILS_ENV'] == 'sandbox':

  • Rails.env вернет sandbox и Rails.env.sandbox? будет истиной.
  • Rails загрузит /config/environments/sandbox.rb
  • Он будет использовать клавишу sandbox в database.yml, если вы используют ActiveRecord
  • Он будет использовать ключ sandbox в secrets.yml
  • Он будет использовать sandbox зашифрованные секреты в Rails 6 .

То, что вы настраиваете, очень похоже на промежуточную среду, в этом случае вы можете начать с:

git cp config/production.rb config/staging.rb

А затем установить ENV['RAILS_ENV'] в среде AWS на staging.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...