As I mentioned before it’s possible and we use one build across different environments.
As @dknutsen mentioned dev and prod builds are different but code base is the same.
In prod build your code gets minified, images could be squashed, etc.
you certainly don’t wont either deploy dev build to prod nor do all prod build jobs during development.
So how it looks like, is for development we of course use dev build done during ember serve or ember build.
We use serve, as no need to start other local server.
For all other environments ( test, uat, prod) we use prod build and only deploy zipped package.
That’s handled by bamboo (but jenkins could be used as well).
To use config in your app you simply have to import it as mentioned here
to distinguish between environments you have to use url for it.
In your config set
urls: ['localhost:4200', '127.0.0.1:4200'],
then you check every urls property against window.location.host, if match then you have your environment.
Minus of that solution is that all environments url will be available inside prod app code, so potentially that’s a security issue.