Задать среду = 'staging' в Ember, развернутом с помощью Capistrano 3

У меня есть промежуточная среда, в которой я хотел бы установить пользовательский набор переменных для развертывания моего приложения Ember.js, и я рисую бланк о том, как это сделать правильно. Я использую самоцвет ember-cli-rails. Согласно документации для этого:

EMBER_ENV: если установлено в среде, значение EMBER_ENV будет передано процессу ember как значение флага --environment.

Я просто рисую бланк о том, как установить его в "среде".

/project/frontend/config/environment.js

if (environment === 'test') {
  // Testem prefers this...
  ENV.baseURL = '/';
  ENV.locationType = 'none';

  // keep test console output quieter
  ENV.APP.LOG_ACTIVE_GENERATION = false;
  ENV.APP.LOG_VIEW_LOOKUPS = false;

  ENV.APP.rootElement = '#ember-testing';
}

if (environment === 'staging') {
  ENV.apiHost = '/app-data';
  ENV.contentSecurityPolicy = contentSecurityPolicy;
  ENV.torii = {
    providers: {
      'my-custom-oauth2': {
        apiKey: '1234123412341234123412341234',
        baseUrl: 'http://www.server.com:9108/oauth/authorize'
      }
    }
  };
}

if (environment === 'production') {
  ENV.apiHost = '/app-data';
  ENV.contentSecurityPolicy = contentSecurityPolicy;

Вещи, которые я пробовал до сих пор:

  • настройка export EMBER_ENV='staging' в моем профиле пользователя.profile
  • настройка set :default_env, { 'EMBER_ENV' => 'staging' } в моем /config/deploy/staging.rb файл.

1 ответ

К сожалению, ember cli поддерживает тестирование, разработку и производство только в качестве допустимой среды.

Объект ENV содержит три важных ключа:

  • EmberENV можно использовать для определения флагов объектов Ember (см. Руководство "Флаги объектов").
  • APP можно использовать для передачи флагов / опций вашему экземпляру приложения.
  • Среда содержит имя текущей среды (разработка, производство или тестирование).

Есть несколько неофициальных решений этого, некоторые из них используют ember-cli-deploy и изменить настройки на основе deployTarget значение. Другие используют dotenv управлять настройками каждой среды.

Мы занимаемся этим на данный момент и не смогли найти решение, которое кажется правильным.

Другие вопросы по тегам