&gt; Two things which I never understood about using environment variables are how do you version control the changes and how do you manage these variables when you have more than just a handful of them?<p>We&#x27;re doing this: the env vars are stored as a stage&#x2F;container&#x2F;key hierarchy in version-controlled eyaml files (yaml with encryption at the value level, nice for git diffs). At deployment the eyaml gets decrypted by ops or jenkins converted into a container env map (in our case a kubernetes resource controller).<p>Additionally we tag deployed containers with the config&#x27;s git hash to have reproducible deployments, which is actually pretty useful. (again we leverage kubernetes labels, but this principle should could be applied to other orchestration tech i guess).