It makes it easier to manage environment variables in S3.
You can install it using the npm command.
npm install -g env-s3nc
Basically, it is managed through a file called .env-s3nc.json
. you can store .env
files from multiple projects in one bucket.
Access the workspace directory (eg ~/Workspace) that can be managed by env-s3nc and enter the following command to configure it.
env-s3nc init
Now, we need to set up the stage.
Basically, we recommend using dev, stage, and prod separately.
env-s3nc stage create <stage> -b <bucket> -l <env file>
stage
is the name of the stage. (eg. prod)
For bucket, enter the name of your s3 bucket. And for local, enter the location of the .env file. (eg .env.prod)
If local is not entered, it consists of names such as .env.{stage}
.
You can also create the rest of the stages like this.
AWS credentials are automatically loaded according to the settings in aws-cli .
If you want to set a specific profile, enter the AWS_PROFILE
or AWS_DEFAULT_PROFILE
environment variable as the profile you want.
You can get the stage with the command below.
env-s3nc upload
If you want to upload only a specific stage, you can set the stage as shown below.
env-s3nc upload -s <stage>
You can get the stage with the command below.
env-s3nc download
If you want to download only a specific stage, you can set the stage as shown below.
env-s3nc download -s <stage>
You can delete a stage using the command below.
env-s3nc stage remove <stage> -c
It is saved as {workspace}/{target}
workspace
is the name of the current project folder, and target
can be set by entering the -t
parameter in stage creation. so for example nodejs-boilerplate/.env
If you need to share environment variables with other developers, you can collaborate by providing an .env-s3nc.json
file. .env-s3nc.json
itself does not contain AWS credential information.