Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Ember CLI: Build for staging

I'd like to create a build of an Ember CLI app for a staging environment. For staging, I'd like to essentially do exactly the same thing as production (minification, fingerprinting, exclude tests, etc), but want to pick up the environment variables for development. To attempt this, I changed my environment.js file to account for staging:

if (environment === 'development' || environment === 'staging') {
  ENV.someApiKey = 'test-api-key';
}

if (environment === 'production') {
  ENV.someApiKey = 'production-api-key';
}

When I run ember build --environment=staging, the proper staging environment variables are set, but all of the other build processes that would run for production doesn't. Is there a way to tell Ember CLI to build for production but pick up environment variables for development?

like image 848
Johnny Oshika Avatar asked Nov 09 '22 13:11

Johnny Oshika


1 Answers

Ember sets a flag depending on whether production ONLY is specified in /ember-cli/lib/broccoli/ember-app.js:

var isProduction = this.env === 'production';

and then it uses the settings specific to production.

So if you want to have a staging build use a process to modify the environment.js before your run ember build then when the build is finished revert the file back to normal. We should probably make this process more flexible in the future.

like image 118
Nikos Avatar answered Jan 04 '23 01:01

Nikos