Projects are different from one another and so are environments. We might be developing an application on our local machine with certain environment variables like debug level, API keys, or memory size. Then we want to deploy the application to a staging or production server, which has other values for the same environment variables. A tool that comes in handy for loading environments on the fly is autoenv
.
To install it we go to the official GitHub page and follow the instructions:
https://github.com/kennethreitz/autoenv
First we will clone the project in our home directory, and then we add the following line to our .zshrc config file, so that every time zsh starts, autoenv is loaded by default:
source ~/.autoenv/activate.sh
Now let's create an example workplace with two imaginary projects, project 1 and project 2.
We open an environment file for project 1:
vim project1/.env
Let's now imagine that project 1 uses an environment variable called...