I can define environment variables through settings UI, and then use them multiple times in config.yml by "${ENV_VARIABLE_NAME}". However, that's not good for non-sensitive data, as that's a manual step and cannot be checked in into my version control system.
Looks like I can define environment variables in jobs https://circleci.com/docs/2.0/env-vars/#setting-an-environment-variable-in-a-job , which is another workaround. However, it looks like I cannot do the same thing for orb setups.
For example, I have a lot of duplicated strings
ecs-circleci-qa
in this part of the code https://github.com/gitenter/gitenter/blob/aee28c760523977d8c871d54189543d68942ee63/.circleci/config.yml#L177-L212 , and right now seems there's no workaround unless I hard code/repeat it multiple times.
I think the easiest way is to have CircleCI config.yml to support local variables. However, it seems not supported yet.
CCI-I-1020