Description
OS?
Any, mostly a build/CI question
Versions.
1.0.0-beta.26
Reasoning
I really like the environment variables setup with the CLI and we have switched to using them. One problem though is we no longer have access to server set ENV variables which is how we pass information to certain things during deployment. Consider:
Bugsnag.releaseStage = environment.releaseStage;
// can't access process.env anymore with the CLI
const commit = process.env.CI_COMMIT_ID;
if (commit) Bugsnag.metaData = {
commits: {
id: commit
}
};
Being able to add the release stage, branch, and commit ID allows us to segment and track bugs/issues very accurately.
My problem is I know the build takes whatever stage I pass and replaces the environment.ts
file so I can't just edit the file with a bash script (well, if I know EXACTLY the build before hand I could) but it would be nice to be able to pass env variables in the build line.
Consider: ng build --prod
could be: ng build --prod --envVar:commitId: CI_COMMIT_ID
which would append the variable after the file gets merged
export const environment = {
production: true,
commitId: 'ca82a6dff817ec66f44342007202690a93763949'
}
something like this would ensure it gets added to the right file and at the right time/place..
Then we could do:
const commit = environment.commidId;
if (commit) Bugsnag.metaData = {
commits: {
id: commit
}
};
Activity